Stap 5: Bitsgewijs verplaatsen - ' >'
Nu gaan we om te verschuiven van versnelling en kijken SHIFTing rechts en links, wat dit doet is gewoon het verplaatsen van de bits in het byte recht of links een aantal plaatsen. De operator voor deze operatie is ' << ' voor links en ' >> ' voor recht.
Net als de operator NOT werkt dit alleen op 1 byte tegelijk. Laten gaan met de SHIFT-links-operator:
0000 0001 << 1 = 0000 0010
We verhuisd hier dat onze bits 1 plaats naar links. In wiskundige termen is dit hetzelfde als vermenigvuldigen met 2, 1 x 2 = 2 rechts.
Deze verschuiving wordt vaak gebruikt voor het verlichten van het begrip van registers, zoals we al hoe weten u een beetje met de operator OR we SHIFT gebruiken kunt om te zeggen: Ik wil instellen van bit 4 in een register. En dat kunnen we doen als dit:
Register = Register | (1 << 4)
die vertaalt naar:
Register = Register | 0001 0000
Herinner me dat wij beginnen op bit 0, rechts!
Vaak bij het coderen van Arduino veel van de Registers beschikken over vooraf gedefinieerde namen, zodat wanneer we deze namen gebruiken kunnen we een lijn die als dit kijkt:
PORTB = PORTB | (1 << PORTB5)
Waar we gebruiken de gedefinieerde namen voor zowel PORTB die een adres in onze microcontroller en PORTB5 oftewel het getal 5.
Nu wat kunnen we doen met de operator SHIFT rechts ' >> '? Goed, ik moet toegeven dat ik had niet vaak gebruik daarvoor maar het is leuk om te weten zijn er en hoe het te gebruiken.