Bittioperaatio

Bittioperaatio () on ohjelmointikielissä bittioperaattoreilla tehtäviä toimintoja. 

Bittitason operaattorit ja niiden vastineet C-kielessä ovat:

AND (&): jos molemmat bitit ovat 1, tulos on 1, muutoin 0:
    0101 
AND 0011
  = 0001

OR (&vert;): 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 eli 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

 Bittioperaatiot eri alustoilla 
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.

Taulukossa on eräiden ohjelmointikielten ja suorittimien bittioperaattorit.

 Operaatio C QBasicMS QuickBASIC 4.5 Language Reference  6502NMOS 6502 Opcodes  Z80Z80 CPU Microprocessor Instant Reference Card  8086Intel ASM86 Language Reference Manual, sivu 6-10 AND  &  AND  AND  AND  ANDOR  &vert;  OR  ORA  OR  ORXOR  ^  XOR  EOR  XOR  XORNOT  ~  NOT  (ei ole)  CPL  NOTsiirto vasemmalle  <<  (ei ole)  ASL, ROL  SLA, RL, RLC  SHL, SAL, ROL, RCLsiirto oikealle  >>  (ei ole)  LSR, ROR  SRL, SRA, RR, RRC  SHR, SAR, ROR, RCR

 Katso myös 
 Boolen algebra

 Lähteet 

Luokka:Ohjelmointikielet
Luokka:Digitaalitekniikka