bit setki_4 Overflow
Overflow Detectarea se bazează pe utilizarea transferurilor termeni care apar atunci când se efectuează operațiile de adiție. Overflow are loc numai în cazul în ture în bitul de semn și bitul de semn de diferite.
În primul exemplu, transferul unui bit de semn este 1, semnul unei este 0. În al doilea exemplu, transferul la bitul de semn este 0 și semnul raven1. Aceasta indică grila de preaplin cifre.
Scadere marca numere întregi arbitrare poate fi redusă la o operație plus algebrică x - y = x + (-y).
Pentru suplimentare și a obține codul retur
unde [y] - cod mijloace inversoare.
Pentru scăderea în sumatorul trebuie să fie furnizate pentru ambele numere directe și inverse ale codurilor sursă de transmisie.
· Reprezentarea algebrică a numerelor binare
Numărul de caractere codificate în mod normal cifră binară, codul 0 înseamnă semnul + (plus), un cod de 1 - semnul - (minus). Pentru reprezentarea algebrică a numerelor, adică, să reprezinte numere cu semnele lor, coduri speciale sunt utilizate în mașinile:
· Numărul de cod direct;
· Numărul de cod Inverse;
· Valoarea complementare.
În acest caz, ultimele două cod poate înlocui un inconvenient pentru funcționarea scădere de calculator cu privire la operațiunea de adiție cu un număr negativ.
Codul adițional prevede execuție mai rapidă a operațiunilor, astfel încât computerul este folosit de multe ori.
1. Codul direct al N - [N] pr. Fie N = a a. o;
· Dacă N> 0, atunci [N] np = 0, a a. o;
· În cazul în care N <0, то [N]пр = 1, a a a. a;
· Dacă N = 0, atunci ambiguitatea: [0] = 0,0 ave. sau [0] = 1,0 ave.
Rezumând rezultatele, obținem:
Atunci când adăugarea de ambii termeni au același semn, operațiunea de adiție este efectuată în mod obișnuit. În cazul în care adăugarea de termeni au semne diferite, atunci trebuie mai întâi să identifice un număr mai mare în valoare absolută, pentru a produce din ea scade numărul mai mic, iar diferența dintre semnul atribuit unui număr mai mare.
operațiunile de înmulțire și împărțire se efectuează în codul direct în modul obișnuit, dar semnul rezultatului este determinat de coincidență sau non-coincidența semne, numere implicate în operațiune.
operațiune în acest cod Scadere nu poate fi înlocuit cu funcționare plus un număr negativ, astfel încât există dificultăți asociate cu valori Împrumutați de biți semnificativi scade. În acest sens, cod direct computer aproape nu se aplică.
2. Codul de retur al N - [N] ARR.
Simbolul * denotă o reciprocă a unei (inversiune a), adică în cazul în care a = 1, atunci o * = 0, și vice-versa.
· Dacă N> 0, atunci [N] = mod [N] np = 0, o a. o,
· În cazul în care N <0, то [N]обр = 1, a* a*. a*,
· Dacă N = 0, ambiguitatea [0] arr = 0,00. 0 sau [0] arr = 1.11. 1.
Pentru a obține codul de retur al unui număr negativ, aveți nevoie de toate cifrele numărului pentru a inversa, care este bitul de semn pentru a pune 1 în toate evacuări semnificative zerouri le înlocuiesc pe cele, și cele cu zerouri.
De exemplu, numărul N = 0,1011, [N] arr = 0.1011. Numărul N = -0,1011, [N] arr = 1,0100. În cazul în care N <0, [N]обр = 10 – 1·10–n + N, то есть [N]обр = 1,1111 + N.
Rezumând rezultatele, obținem
3. Cod adițional N - [N] ext
· Dacă N> = 0, atunci [N] ext = [N] np = 0, o a. o,
· În cazul în care N <= 0, то [N]доп = 1, a* a*. a* + 0,0 0. 1.
Pentru a obține un cod suplimentar al unui număr negativ, este necesar să se inverseze toate cifrele sale (în bitul de semn pentru a pune unitatea în toate evacuări semnificative zerouri le înlocuiesc pe cele și zerouri ale unității) și apoi pentru a adăuga un LSB. În cazul transferului primului separate după externare în bitul de semn, numărul trebuie adăugat la unitatea din LSB.
De exemplu, N = 0,1011, [N] ext = 0.1011; N = -0,1100, [N] ext = 1,0100; N = -0,0000, [N] ext = 0,0000 = 10,0000 (1 dispare). Ambiguitatea în imagine 0 nr. Rezumând, putem scrie:
TIP. O regulă de bază: un cod suplimentar al unui număr negativ trebuie să fie toate caracterele din acest număr pentru a inversa, cu excepția ultimelor unități (mai tineri) și acele zerouri care au urmat.