- iPhone topik
- Milyen okostelefont vegyek?
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Motorola Edge 50 Neo - az egyensúly gyengesége
- OnePlus 15 - van plusz energia
- A Pixel 9 AirDropot, a Pixel 11 Face ID-t kap
- Apple iPhone 13 mini - miért nem veszik elegen?
- Soundcore Sleep A30 - a hosszú házasság titka
- Apple iPhone 16 Pro - rutinvizsga
- Amazfit Cheetah Round - fogd a pénzt és fuss
Ú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!
- HIBÁTLAN iPhone SE 2020 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS4366
- Új Kipsta agility 100 focicipő (43-as)
- Telefon felvásárlás!! Honor 200 Lite, Honor 200, Honor 200 Pro, Honor 200 Smart
- Bomba ár! Dell Latitude E7250 - i5-5300U I 8GB I 128SSD I 12,5" HD I HDMI I Cam I W10 I Garancia!
- Akció! Gamer PC-Számítógép! Intel Ultra 5 245K / RTX 3080 10GB / 16GB DDR5 / 1TB SSD!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


