Codul invers este o metodă de matematică computațională care permite să se scadă un număr de la altul, folosind doar operația de adăugare peste numere naturale. Anterior, metoda a fost utilizată în calculatoarele mecanice (aritmometre). Astăzi este folosit în principal în computerele moderne.
cod binar Reverse n biți este întreg pozitiv format dintr-un cod de bit de semn (binar cifră 0), urmat de n - 1 bit reprezentarea binară a numărului modulului (pozitiv cod numeric invers coincide cu codul direct).
Reverse n-biți cod binar întreg negativ este format dintr-un cod de bit de semn (cifră binară 1), urmat de n - 1-bit număr binar care reprezintă n inversat - reprezentarea 1-bit din numărul modulului. Trebuie remarcat faptul că pentru a schimba semnul unui număr este suficient să inversați toate categoriile fără a acorda atenție dacă este vorba de o cifră sau de informații semnate.
Pentru a converti un număr negativ la un număr pozitiv, se aplică și operația de inversiune. Aceste coduri inverse sunt convenabile de utilizat. [1] Ca dezavantaj trebuie notat că codurile binare inverse sunt două coduri de 0: „“ polozhitelny Nul „“ „“ otritsatelny Nul „“ 0000000000 și 1111111111 (coduri de 10 biți inverse arătate). Aceasta duce la o operație de sumare oarecum mai complicată. Din acest motiv, am continuat să adăugăm coduri suplimentare pentru scrierea numerelor întregi semnate.
Codul invers al n-biților vă permite să reprezentați numere de la - 2n - 1 + 1 la + 2n - 1 - 1.
Codul suplimentar este cel mai comun mod de a reprezenta numerele negative în computere. Vă permite să înlocuiți operația de scădere cu operația de adăugare și să efectuați operațiile de adăugare și scădere aceleași pentru numerele semnate și nesemnate, ceea ce simplifică arhitectura calculatorului. Un cod de număr negativ suplimentar poate fi obținut prin inversarea modulului numărului binar (prima adăugire) și adăugarea unui (al doilea complement) la inversiune sau prin scăderea numărului de la zero.
Codul adițional (în plus față de 2) al numărului binar este obținut prin adăugarea 1 la cea mai mică cifră semnificativă a complementului său la 1.
Adăugarea la 2 numere binare este definită ca valoarea obținută prin scăderea numărului de la cea mai mare putere a două (de la 2N pentru complementul N-bit la 2).
Reprezentarea numărului în codul suplimentar
Când scrieți un număr în codul suplimentar, este semnat cel mai mic bit. Dacă valoarea lui este 0, atunci în biții rămași este scris un număr binar pozitiv, care coincide cu codul direct. Dacă numărul înregistrat în codul transmite este negativ, soarele ?? e de biți răsturnate și se adaugă la produsul 1. La numărul rezultat este adăugat Sr. (semn) bit egal cu 1.
Un număr binar pe 8 biți semnat în codul suplimentar poate reprezenta orice număr întreg cuprins între -128 și +127. Dacă cel mai mare bit este zero, atunci cel mai mare întreg, ÿᴏᴛᴏᴩᴏᴇ ar trebui să fie scris în restul de 7 biți este 27-1, care este 127.
Conversia codului suplimentar
Conversia unui număr de la un cod direct la altul este realizată utilizând următorul algoritm.
· În cazul în care numărul înregistrat în codul transmite este pozitiv, atunci este atașat la senior (semnul) bit egal cu 0, iar în această transformare se termină;
· În cazul în care numărul înregistrat în codul transmite este negativ, soarele ?? e de biți răsturnate, și se adaugă la produsul 1. La numărul rezultat este adăugat Sr. (semn) bit egal cu 1.
Cod suplimentar pentru numere zecimale
Același principiu poate fi utilizat în reprezentarea pe calculator a numerelor zecimale: pentru fiecare cifră 9 se înlocuiește cu X-X, și numărul rezultat se adaugă la 1. De exemplu, atunci când se utilizează un număr de patru cifre este înlocuit cu -0081 9919 (9919 + 0081 = 0000, a cincea este descărcată de descărcare).
· Același registru poate fi stocat ca un număr de n biți pozitiv, și (n-1) -bit semnat întreg, cu formatul general pentru ambele operații de adunare, scădere și deplasare la stânga.
· Ambalarea mai convenabilă a numerelor în câmpurile de biți.
· Absența unui număr de "minus zero".
· Codul suplimentar nu este evident pentru începători.
· În formate complexe (cum ar fi virgulă plutitoare sau cod zecimal codificat binar), majoritatea beneficiilor sunt anulate.