Új hozzászólás Aktív témák
-
válasz
!wannabe
#489
üzenetére
Hali!
Az ndx tömben van tárolva ugyebár, hogy melyik számjegy hányszor fordul elő.
Mivel én STRING-ként olvasom be, ezért a '0'-'9' számjegyek a karakterkódjukkal vannak jelen a STRING-be, vagyis hexa 0x30-0x39. Ebből kell 0-9 indexet csinálni.
pla '9' ascii kódja 0x39 binárisan 00111001, a 0x0f binárisan 00001111
00111001 AND 00001111 = 0000 1001 azaz 9.
( az AND ott lesz 1, ahol mindkét számban az azonos bitpozíción 1 van)
tehát ebben az esetben az ndx[str[i] & 0x0f]++ az ndx[9]++ lesz, azaz a tömb 9. indexén lévő elem értékét megnöveli egyel.Meg lehetett volna így is oldani ndx[str[i]-0x30]++ vagy ndx[str[i]-'0']++
Csak azért választottam az AND-es módszert, mert a logikai műveletek fontos része minden programozási nyelvnek(AND, OR, XOR, NOT stb)Fire.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Xiaomi 12 256GB, Kártyafüggetlen, 1 Év Garanciával
- Használt Palladium G-Lab angol games billentyűzet / 12 hó működési garancia
- Samsung Galaxy S21 Ultra 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 17 Pro 256GB Deep Blue karcmentes 100% akku (58 ciklus) - 2026.12.03.-ig garancia
- Apple iPhone 12 Mini 64GB,Használt,Adatkabel,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
