BITTIOPERAATIOT
Bittoperaattorit toimivat bitti kerrallaan, joten muuttujan arvoa kokonaisuudessaan ei käsitellä. Operaattorien olemassaolo mahdollistaa C-kielen käytön laiteajurien ja
käyttöjärjestelmien ohjelmointiin. Bittioperaattorit antavat kielelle koneläheisten kielten piirteitä. Bittioperaattoreiden käyttö vaatii binäärisen lukujärjestelmän ja
muistijärjestelmän ymmärtämisen. Sovellusohjelmien ohjelmointi ei välttämättä vaadi bittioperaattoreiden käyttöä mutta niiden avulla voidaan ohjelmien tehokkuutta parantaa.
LOOGISET BITTITASON OPERAATTORIT
Bittitason loogisia operaattoreita on käytössä neljä. Nämä operaattorit käyttävät kokonaislukutiedon binääristä esitysmuotoa, joten niiden avulla voidaan muokata muistin ja muuttujien sisäisiä bittejä.Bittitason loogiset operaattorit:
Operaattori | Tarkoitus |
---|---|
& | AND eli JA |
| | OR eli TAI |
^ | XOR eli poissulkeva TAI |
~ | 1:den komplementti |
<< | Bittien siirto vasemmalle |
>> | Bittien siirto oikealle |
&= | AND ja sijoitus |
^= | XOR ja sijoitus |
<<= | Bittien siirto vasemmalle ja sijoitus |
>>= | Bittien siirto oikealle ja sijoitus |
Kukin bittitason looginen operaattori suorittaa bitti-bitiltä -operaation sisäiselle tiedolle. Bittitason operaattoreille soveltuvat char, int ja long -tyyppiset muuttujat ja vakiot, mutta ei liukulukutyyppinen tieto.
BITTITASON AND ( & )
Operaattoria & kutsutaan nimellä bittitason AND-operaatio. AND tulosbitti on ykkönen, ainoastaan mikäli molemmat operandibiteistä on ykkösiä. Bittitason operaattoria & (AND) käytetään testaamaan, onko molemmat operandien bitit ykkösiä.Bittitason AND-totuustaulu ( & )
1.bitti | AND | 2.bitti | Tulos |
---|---|---|---|
1 | & | 1 | 1 |
1 | & | 0 | 0 |
0 | & | 1 | 0 |
0 | & | 0 | 0 |
Bittitason totuustauluissa voidaan korvata ykkönen sanalla Tosi ja nolla sanalla Epätosi, jolloin molempien bittien on oltava Tosi jotta tulos olisi Tosi.
Rakenne:
Bittitason & (AND) yhdistää kaksi muuttujaa bitti bitiltä:
Tuloksena on muuttuja, joka on kahden muuttujan välisen AND-operaattorin aikaansaannos.muuttuja_1 = muuttuja_2 & muuttuja_3;
Esim.
Muuttuja muuttuja_1 pitää sisällään luvun 8, joka on tuloksena bittitason &-operaatiosta luvuilla 9 ja 14.muuttuja_1 = 9 & 14;
1 0 0 1 (9) & 1 1 1 0 (14) 1 0 0 0 (8)
/* Bittitason AND */ #include <stdio.h> int main() { int muuttuja_1, muuttuja_2 = 9, muuttuja_3 = 14; muuttuja_1 = muuttuja_2