Etumerkittömät kokonaisluvut
Bittijono voidaan ymmärtää positiiviseksi kokonaisluvuksi:
kahdeksan bitin tavu voi tällöin sisältää arvot 0 - 255 = 00000000...11111111b = 0377 = 0xff.
16-bittinen luku voi sisältää arvot 0 - 65 535 = 00000000 00000000 ... 11111111 11111111 =
= 0 ... 0177777 = 0 ... 0xffff.
32-bittinen luku voi sisältää arvot 0 - 4 294 967 295 = 0.... 037777777777 = 0... 0xffffffff
Mutta yleensä tarvitsemme myös negatiivisia lukuja, jolloin tarvitsemme kahden komplementtiesitystä
kahdeksan bitin tavu voi tällöin sisältää arvot -128 - 0 - 127= 10000000 - 00000000 - 01111111 = -0200 - 0 0177 = -0x80 - 0 - 0x7f
.
16-bittinen luku voi sisältää arvot 32768 - 0 - 32767 .
32-bittiseen kaksoissanaan mahtuu luku 2147483648 - 2147483647.
HUOM! jos luvun ensimmäinen numero on nolla (0) , ymmärretään se C-ohjelmassa oktaaliluvuksi ja jos luvun kaksi ensimmäistä merkkiä ovat 0x, ymmärretään luku heksadesimaaliluvuksi. Binäärilukua ei voi suoraan kirjoittaa muuttujan arvoksi, vaan se pitää esittää joko oktaali- tai heksalukuna.
C-ohjelmassa lukuarvot talletetaan aina muuttujiin. Muuttuja on aina tietyn kokoinen esim. char tyypin muuttuja sisältää kahdeksan bittiä. int on 16, 32 tai 64 bittiä riippuen järjestelmän käyttämästä sanan pituudesta. Pienessä sulautetussa järjestelmässä int on yleensä 16 bittiä.