You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Bittioperaatiot kahdeksanbittisellä etumerkittömällä luvulla

TRUE, true, tosi on muu kuin nolla, FALSE, false, epätosi  on nolla

Ja, And = & ,   Tai, Or =  | ,     Xor =   ^ ,  Negaatio = ~   ,    Shifting left,  Siirto vasemmalle  =  <<  ,    Shifting right,  Siirto oikealle =  >>

JA, AND, operaattori = &  ,  esimerkkejä 8 bittisilla luvuilla, b luvun perässä tarkoittaa sanaa binaari, 0x luvun edessä tarkoittaa heksadesimaali (kantaluku=16) ja 0 luvun alussa tarkoittaa oktaalilukua (kantaluku=8)

1. esimerkki, a = 255 & 15 = 11111111b & 00001111b = 00001111b = 15 = 0xE = 017
2. esimerkki, a = 255 &  1 = 11111111b & 00000001b = 00000001b = 1  = 0x1 =  01
3. esimerkki, a =   2 &  1 = 00000010b & 00000001b = 00000000b = 0  = 0x1 =  00
4. esimerkki, a =   3 &  1 = 00000011b & 00000001b = 00000001b = 1
5. esimerkki, a =   3 &  2 = 00000011b & 00000010b = 00000010b = 2

TAI , OR, operaattori |
1. esimerkki,  a = 0 | 1          =  0000 0000b | 0000 0001b  = 0000 0001b  = 1
2. esimerkki,  a = 2 | 1          =  0000 0010b | 0000 0001b  = 0000 0011b  = 3
3. esimerkki,  a = 4 | 8          =  0000 0100b | 0000 1000b  = 0000 1100b  = 12  =0 xC = 014
4. esimerkki,  a = 4 | 12        =  0000 0100b | 0000 1100b  = 0000 1100b  = 12

Ehdoton TAI , XOR, operaattori ^
1. esimerkki,  a = 0 ^ 1          =  0000 0000b ^ 0000 0001b  = 0000 0001b  = 1
2. esimerkki,  a = 1 ^ 1          =  0000 0001b ^ 0000 0001b  = 0000 0000b  = 0
3. esimerkki,  a = 2 ^ 1          =  0000 0010b ^ 0000 0001b  = 0000 0011b  = 3
4. esimerkki,  a = 3^ 1          =   0000 0011b ^ 0000 0001b  = 0000 0000b  = 2
5. esimerkki,  a = 4 ^ 8          =  0000 0100b ^ 0000 1000b  = 0000 1100b  = 12  =0 xC = 014
6. esimerkki,  a = 4 ^ 12        =  0000 0100b ^ 0000 1100b  = 0000 1000b  = 8

Negaatio, operaattori ~,  Negaatio-operaattori kääntää kaikki muuttujan bitit päinvastaiseksi 
1.esimerkki,  a = 0  = 0000 0000;  operaatio a = ~a; nyt a= 1111 1111; lopputulos a = 255 = 0xFF
2.esimerkki   a = 1  = 0000 0001;  operaatio a =~a; nyt a=  1111 1110; lopputulos a = 254 =  0xFE
3.esimerkki   a = 12= 0000 1100;  operaatio a = ~a; nyt a= 1111 0011; lopputulos a = 243 = 0xF3
4.esimerkki   a = 15= 0000 1111;  operaatio a = ~a; nyt a= 1111 0000; lopputulos a = 240 = 0xF0

Siirto vasemmalle  Shifting left, operaattori <<
1. esimerkki  a=1=     0000 0001,  operaatio a = a<<1 ; nyt a= 0000 0010 ; lopputulos a = 2
2. esimerkki  a=128= 1000 0000,  operaatio a = a<<1 ; nyt a= 0000 0000 ; lopputulos a = 0
3. esimerkki  a=0 =    0000 0000,  operaatio a = a<<1 ; nyt a= 0000 0000 ; lopputulos a = 0

Siirto oikealle,  Shifting right, operaattori >>
1. esimerkki  a=1=     0000 0001,  operaatio a = a>>1 ; nyt a= 0000 0000 ; lopputulos a = 0
2. esimerkki  a=128= 1000 0000,  operaatio a = a>>1 ; nyt a= 0100 0000 ; lopputulos a = 64=0x40
3. esimerkki  a=0 =    0000 0000,  operaatio a = a>>1 ; nyt a= 0000 0000 ; lopputulos a = 0

  • No labels
You must log in to comment.