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).[1]
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
[muuda | muuda lähteteksti]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
[muuda | muuda lähteteksti]Viited
[muuda | muuda lähteteksti]- ↑ Digitaalseadmete aritmeetika ja loogika I. Ariste,A.; Loengukonspekt, Tallinna Polütehniline Instituut, Informatsioonitehnika kateeder, 95lk, TPI rotaprint, Tallinn, 1971