Täiendkood

Täiendkood on kahendarv, mis saadakse, kui otsekoodi madalamad (väiksema kohakaaluga) kohad kopeeritakse (kirjutatakse ümber) kuni esimese 1-ni kaasa arvatud ja ülejäänud kõrgemad (suurema kohakaaluga) kohad inverteeritakse (inverteerimisega tehakse loogilise eituse ehk negatsioonitehe).Digitaalseadmete aritmeetika ja loogika I. Ariste,A.; Loengukonspekt, Tallinna Polütehniline Instituut, Informatsioonitehnika kateeder, 95lk, TPI rotaprint, Tallinn, 1971

Täiendkoodi kasutatakse arvutites negatiivsete arvude esitamisel, näiteks arv 3 esitatakse kui 00000011, aga -3 esitatakse arvu 3 täiendkoodina: 11111101. Sellisel juhul näitab esimene bitt ka arvu märki. Arvu täiendkood on võrdne arvu pöördkoodiga, millele on liidetud 1.

Negatiivsete arvude esitamisel on täiendkoodil mitmeid eeliseid pöördkoodi ees. Esiteks töötavad liitmine, lahutamine ja korrutamine täiendkoodidega täpselt samamoodi, kui positiivsete täisarvude puhul. Teiseks on pöördkoodi puhul arvul 0 kaks esitusviisi (arvu 00000000 pöördkood on 11111111 ja vastupidi). Kolmandaks saab täiendkoodiga esitada arve vahemikus −2n−1...2n-1−1, samas kui pöördkoodiga saab esitada arve ühe võrra vähem: −(2n−1)+1...2n−1−1 (n on bittide arv kahendarvus).

Näited
Kahendarvud tabelis on esitatud 8-kohalisena.
 Kümnendarv Otsekood Täiendkood Pöördkood 0 00000000 00000000 11111111 1 00000001 11111111 11111110 2 00000010 11111110 11111101 3 00000011 11111101 11111100 12 00001100 11110100 11110011 96 01100000 10100000 10011111 97 01100001 10011111 10011110 127 01111111 10000001 10000000

Vaata ka
Kahendarv
Pöördkood

Viited

Kategooria:Kahendarvutus