Milyen változótípust használjak C++-ban, hogy bináris számoKAT tároljon el, és azokkal tudjak műveleteket végezni, pl shiftelni?
Bool-ba 1 értéket tudok eltárolni, max. tömbösítve tudok többet, de úgy már 8 bájtot nyomna.
Intben gondolkodtam, csak ha ott shiftelek 2-t jobbra, akkor teljesen más számot kapok.
Válaszokat előre is köszönöm!
Egy számítógép CSAK bináris számokat tud tárolni. Minden számos kettes számrendszerbeli alakja van tárolva.
Mi nem megy az int-tel? Mellesleg minden numerikus típussal működni kell a bitműveleteknek.
Ez most csak tipp:
Ha shifteled az intet és visszakonvertálod később, az nem jó?
Egyébként tárolhatod char-ként is, bájtokként.
Vagy definiálsz egy osztályt vagy struktúrát, amiben bool tömbökként tárolod őket.
tessék, itt az algoritmus:
int szam = 28413;
Amíg a szám nem 0:
- int maradek = szam % 2;
- az aktuális bit a maradek-ban van tárolva (0 vagy 1)
- szam = (szam - maradek) / 2;
Majd a kapott bitsorozatot meg kell fordítani
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!