Tämä ilmeisesti tapahtuu jotenkin bittioperaattoreiden avulla, mutta miten? Miten ne toimii?
Kokonaisluku binääri muotoon.
binääri
2146
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 2
Vanhimmat
Operaattorit << ja >> siirtävät luvussa bittejä vasemmalle ja oikealle. 8-bittistä kokonaislukua jos siirtää 7 bittiä oikealle (Esim. 160 >> 7), saadaan tietää onko eniten merkitsevä bitti 1 vai 0.
Muistissahan ne numerot ovat toki kaiken aikaa binäärimuodossa.
Eli käytännössä käydään läpi kokonaisluvun kaikki bitit edellämainitulla tavalla läpi ja tehdään JA operaatio vähiten merkitsevälle bitille, koska jos pyörittää bittejä vaikka 160 >> 3 niin sinnehän jää muuten muutakin nolla tai yksi.
uint8_t value=0x42, bit_count = 8, i=0; {
uint8_t binStr[8] = {0x30}; // '00000000'
for(;i
if(value & (1< binStr[i] ;
}