Bittioperaatio

Bittioperaatio (engl. bitwise operation) on ohjelmointikielissä bittioperaattoreilla tehtäviä toimintoja.[1]

Bittitason operaattorit ovat:[1][2]

AND (&): jos molemmat bitit ovat 1 tulos on 1, muutoin 0:

    0101 
AND 0011
  = 0001

OR (|): jos jompikumpi bitti on 1 tulos on 1, muutoin 0:

    0101
 OR 0011
  = 0111

XOR (^): jos vain toinen bitti on 1 tulos on 1, jos molemmat bitit ovat samat tulos on 0:

    0101
XOR 0011
  = 0110

Komplementti NOT (~): vaihtaa kaikki ykköset nolliksi ja nollat ykköseksi:

NOT 0111
  = 1000

Siirto vasemmalle (<<): siirtää bittejä vasemmalle, täytetään nollalla vapautuvat:

 << 0110
  = 1100

Siirto oikealle (>>): siirtää bittejä oikealle, täyttö riippuu koneesta (yleensä riippuu etumerkistä):

 >> 0110
  = 0011

Suorittimet sisältävät erilaisia käskyjä operaatioiden suorittamiseen, esimerkiksi looginen ja aritmeettinen siirto oikealle (LSR ja ASR) ovat eri tavoin toimivia käskyjä ARM-suorittimissa.[3]

Katso myösMuokkaa

LähteetMuokkaa

  1. a b Bitwise Operators cs.fsu.edu. Viitattu 16.2.2020. (englanniksi)
  2. Oualline, Steve: Practical C Programming, s. 158. Third edition. O'Reilly, 1997. ISBN 1-56592-306-5. (englanniksi)
  3. Code in ARM Assembly: Bit operations eclecticlight.co. 16.7.2021. Viitattu 31.10.2022. (englanniksi)