Curs 11 numere binare Introducere aux in transmite, reversibilitate și coduri suplimentare
Pentru a determina semnul codului binar utilizează 0 sau 1. Zero este codificat semnul „+“ este codat semn de unitate „-“.
Pentru a reprezenta numere pozitive și negative sunt utilizate în calculul codurilor înainte, înapoi, și suplimentare.
Numerele pozitive în înainte, înapoi și codurile suplimentare sunt reprezentate de aceleași coduri binare - numărul 0 în bitul de semn. De exemplu:
Numerele negative în înainte, înapoi și coduri suplimentare au altă imagine.
1. Codul Direct. Bitul de semn este plasat numărul 1, iar în rândurile numerelor digitale - cod binar magnitudinea absolută. De exemplu:
2. Codul Reverse. S-a obținut prin inversarea tuturor cifre din codul binar valoarea absolută a numărului, inclusiv bitul de semn: zero, sunt înlocuite cu unități și unități - zero. De exemplu:
3. Codul adițional. Acesta a obținut forma codul invers, urmat de adăugarea unei unități LSB-ul său. De exemplu:
De obicei, numărul zecimal negativ la intrarea mașinii sunt convertite automat la inversul sau codul binar complementar și stocate în această formă, mișcare și sunt implicate în operațiuni. În derivarea acestor numere din masina are loc într-un număr invers zecimale negative.
Exemplu: prezent numărul 7, -12, -15, -16, în înainte, înapoi și coduri adiționale.
La transferul de la codul directă OSM inversă există o inversare de cifre.
La transferul de la un cod adițional directă are loc în 1) inversarea cifre. 2) se adaugă într-un LSB forme inversate.
operații aritmetice cu numere întregi semnate
Cele mai multe calculatoare nu folosesc scădere. În schimb, adaugă codul suplimentar sau invers în scădere și scădere. Acest lucru poate simplifica foarte mult design-ALU.
Adăugarea de coduri inverse. Aici, cu adăugarea de numere A și B, există patru de bază și două cazuri speciale:
plus algebrică
În cazul în care rezultatul obținut cu semnul minus ( „1“), rezultatul trebuie să fie convertite în cod direct.
1. A și B sunt pozitive. În însumarea adăugat toate biți, inclusiv bitul de semn. Deoarece bit semn termeni pozitivi sunt egale cu zero, valoarea de descărcare este marca de zero prea. De exemplu:
Vom obține rezultatele corecte.
2. O valoare pozitivă, B negativă și absolută sa este mai mare decât A | A | <|B|
În cazul în care rezultatul obținut cu semnul minus „1“, rezultatul trebuie să fie convertite în cod direct.
Rezultatele obținute în cod invers. Când faceți o directă biți de cod digitale ale rezultatului sunt inversate: 1 0000111 = -710.
3. O pozitiv, B este negativ, iar valoarea sa absolută este mai mică decât A. | A |> | B |
Computerul corecteaza un rezultat incorect obținut inițial (6 în loc de 7), unitatea de transfer de bitul de semn în LSB suma.
4. A și B sunt negative. De exemplu:
Rezultat a rezultat incorect inițial (invers număr de cod în loc -1110 -1010 inversă număr de cod) calculator corectează unitatea de transfer de la bitul de semn în LSB suma. Când se va traduce rezultat în biți de cod directe ale numerelor digitale sunt inversate: 1 0001010 = -1010.
Când adăugați o situație poate apărea atunci când cei mai semnificativi biți ai rezultatul operației nu se încadrează în zona de memorie rezervată pentru ea. Această situație se numește overflow cifre format de numere de rețea. Pentru a detecta depășire și despre eroarea de alertă echipamentele speciale utilizate în calculator. Următoarele sunt două posibile cazuri de depășire.
5. A și B sunt pozitive, suma A + B este mai mare sau egal cu 2n-1, unde n - numărul de biți formatul numărului (format pentru octetul n = 8, 2 n-1 = 27 = 128). Opțiunea Overflow.
Șapte biți ai format numărul digital nu este suficient pentru a se potrivi cu o sumă de opt cifre (= 16210 101 000 102), astfel încât suma MSB este bitul de semn. Acest lucru determină o cantitate de neadaptare și termeni înregistrați mărci. care este o dovadă a grilei de preaplin cifre.