Cod direct

Codul direct  este o modalitate de reprezentare a numerelor binare în virgulă fixă ​​în aritmetica computerizată . Folosit în principal pentru a scrie numere nenegative . În cazul utilizării unui cod direct pentru numere, atât pozitive cât și negative, adică numere a căror scriere implică posibilitatea utilizării unui semn minus (numere cu semn), biții digitali stocați ai numărului sunt completați cu un bit de semn .

În literatura engleză, se numește metoda semnului și mărimii .

Reprezentarea numărului semnat în cod direct

Când se scrie un număr într-un cod direct, bitul cel mai semnificativ (bitul cel mai semnificativ) este declarat bit de semn (bit de semn). Dacă bitul de semn este 0, numărul este pozitiv , în caz contrar, este negativ . În cifrele rămase (care se numesc cifre digitale ), este scrisă reprezentarea binară a modulului numărului.

Funcția de codificare pentru numere binare (inclusiv numere întregi și fracții mixte) într-un cod direct este:

unde  este numărul bitului de semn (bit de semn). În special, când se codifică fracții binare adecvate (adică numere care satisfac inegalitatea ), iar funcția de codificare ia forma:

Valoarea numărului din codul direct este determinată de următoarea formulă:

Unde:

După cum se poate vedea din ultima formulă, bitul de semn din codul direct nu are o greutate de biți. Atunci când se efectuează operații aritmetice, acest lucru duce la necesitatea procesării separate a bitului de semn în codul direct.

Exemple

Numar decimal număr binar Cod binar direct pe 8 biți Notă
0 0 0000 0000 zero pozitiv
-0 -0 1000 0000 zero negativ
5 101 0000 0101
zece 1010 0000 1010
-5 -101 1000 0101
-16 -10000 1001 0000
9/16 0,1001 0,100 1000
-9/16 -0,1001 1.100 1000
105/128 0,1101001 0,110 1001
-5/128 -0,0000101 1.000 0101

Aplicații de cod direct

În informatică, codul direct este folosit în principal pentru a scrie numere întregi nenegative. Este ușor de obținut din reprezentarea unui număr întreg în orice alt sistem numeric . Pentru a face acest lucru, este suficient să convertiți numărul în sistemul de numere binar și apoi să completați cifrele libere ale grilei de biți a mașinii cu zerouri.

Cu toate acestea, atunci când este folosit pentru numere semnate, codul direct are două dezavantaje.

Efectuarea operațiilor aritmetice pe numere într-un cod direct este dificilă: de exemplu, chiar și pentru adăugarea de numere cu semne diferite, este necesar, pe lângă sumator , să existe un bloc special „ scăzător ”, a cărui complexitate de implementare este aceeași. ca cea a unui viper convenţional . În plus, atunci când se efectuează operații aritmetice, bitul de semn are nevoie de un tratament special, deoarece nu are greutate. De asemenea, necesită procesarea „zerului negativ”. Astfel, efectuarea de operații aritmetice pe numere cu semn în cod direct va necesita o arhitectură CPU mai complexă și este în general ineficientă.

Mult mai convenabil pentru efectuarea de operații aritmetice este codul complement a doi .

Interval

Codul direct -bit ( biți digitali și un semn) vă permite să reprezentați numere întregi în intervalul .

Codul direct -bit ( biți digitali și un semn) vă permite să reprezentați fracții binare adecvate în intervalul .

Vezi și

Note

Literatură