instrucțiuni Metodic aritmetice și elementele de bază ale sistemelor informatice
2. Bazele aritmetice calculator cu numere binare.
Orice informație (numere, comenzi, înregistrări și așa mai departe. N.) pot fi reprezentate în calculator sub formă de cod binar de lungime fixă sau variabilă. Elemente individuale de cod binar având o valoare de 0 sau 1, denumite biți sau biți. cod binar format din 8 biți se numește un octet. Pentru a înregistra numere sunt, de asemenea, utilizate în format de 32 de biți (cuvânt mașină), format de 16 biți (jumătate de cuvânt) sau format de 64-biți (cuvânt dublu).
Calculatoarele, în scopul de a simplifica operațiile aritmetice folosind coduri speciale pentru a reprezenta numere. Utilizarea codului ne permite să reducem funcționarea scăderea numerelor în codurile de adiție aritmetice ale acestor numere. Se aplică direct, numere de cod suplimentare și invers. Codul direct utilizate pentru a reprezenta numere negative în memoria calculatorului, precum și înmulțirea și împărțirea. Reverse și codurile suplimentare sunt utilizate pentru a înlocui operarea plus scădere, care simplifică unitatea aritmetică unitatea de calculator. Pentru coduri prezentate următoarele cerințe:
1) Cifrele ale codului sunt conectate rigid la o rețea pic specifică.
2) este dată o descărcare fixă bine definită pentru bit cod grilă marca de înregistrare.
De exemplu, în cazul în care o reprezentare bază luată de un cod de octet, apoi 7 biți și un bit pentru codul de înregistrare marca va fi atribuit pentru a reprezenta numărul.
Codul Direct. Codul direct al numărului binar este aceeași în înregistrarea de imagine a numerelor. Valoarea bitul de semn pentru numere pozitive egal cu 0 și 1 pentru numere negative.
bit de semn este de obicei extrem de descărcare în grila de refulare. Ulterior, atunci când codul de înregistrare de biți semn de digital acord separate printr-o virgulă. În cazul în care nu este specificat numărul de biți de cod, presupunem că un record cod de un octet selectat.
Exemplu. În cazul în care codul de înregistrare de un octet atribuit numărul de cod 1101 0.0001101 directe, pentru un număr de cod directe -1101 1.0001101.
Codul Reverse. Codul retur pentru un număr pozitiv coincide cu codul direct. Pentru toate numerele negative cifre ale numărului sunt înlocuite cu opusul (1 la 0, 0 la 1), iar bitul de semn este stocată în unitate.
Pentru 1101 numărul de cod directe 0.0001101; Reverse cod 0.0001101.
Pentru numărul de cod directe -1101 1.0001101; Reverse cod 1.1110010.
Cod suplimentar. Codul adițional un număr pozitiv coincide cu codul direct. Pentru un număr negativ de cod suplimentar este format prin luarea codul invers, și adăugarea la LSB unități.
2.2 Proprietățile numerelor de adiție în codurile inversă și suplimentare.
La adăugarea numerelor în unitatea de transfer care rezultă din două este aruncat în bitul de semn.
Când adăugați un număr de cod inverse care apar în unitatea de transfer bitul de semn este adăugat la LSB cantitate de cod.
Dacă rezultatul codului aritmetice este un număr negativ, trebuie să-l convertească la codul direct. În acest caz, codul de retur este convertit într-un număr de înlocuire directă în toate categoriile, cu excepția semnul inversat. Cod adițional este convertit într-un mod direct ca partea din spate, urmată de adăugarea la unitatea LSB.
Ori numere binare X și Y în codurile inversă și suplimentare.
1) Adăugarea numerelor folosind reguli aritmetice binare:
2) se adaugă numerele utilizând coduri:
Adăugarea inversă
cod
Adăugarea suplimentară
cod
Deoarece rezultatul adăugării este un cod pozitiv număr (marca 0), (X + Y) Mod ext = (X + Y) = (X + Y) pr.
1) Adăugarea numerelor folosind reguli aritmetice binare:
2) se adaugă numerele utilizând coduri:
Adăugarea inversă
cod
Adăugarea suplimentară
cod
Având în vedere că suma este un cod de număr negativ (semn 1), este necesar să se transfere rezultatele direct Cod:
- din codul de retur
(X + Y) mod = 1,1110100 (X + Y) = 1.0001011 ave;
- de cod adițional
(X + Y) = 1,1110101 DOP (X + Y) = 1.0001010 + ave 0,0000001 = 1.0001011.
Astfel, X + Y = -1,011, iar rezultatul coincide cu înregistrarea obișnuită.
2.3 Modificat inversă și codurile adiționale.
Când transferul de descărcare de preaplin unitate are loc în grila de bitul de semn. Acest lucru conduce la rezultate incorecte, numărul pozitiv ca rezultat un rezultat operații aritmetice pot fi interpretate ca negative (din moment ce un „1“ în bitul de semn), și vice-versa.
În cazul în care X și Y - coduri de numere întregi pozitive, dar computerul primește rezultatul de adăugare a unui număr negativ, ca un cod ( „1“ în bitul de semn). Pentru a detecta codurile de rețea de descărcare de preaplin introduse modificat.
În reversul modificat și a modificat în codurile suplimentare atribuit numărul de semn nu una, ci două biți: „00“ corespunde cu semnul „+“, „11“ - „-“ semn. Orice altă combinație ( „01“ sau „10“), a primit în bitul de semn este o grilă de preaplin pic semn. Adăugarea de numere în codurile modificate nu este diferit de un adaos inversă convențională și coduri adiționale.
Să considerăm exemplul anterior, prin efectuarea adăugării în cod invers modificat:
Combinația de „01“ în bitul de semn înseamnă că preaplinul a avut loc și a obține un rezultat - greșit.
Luați în considerare un alt exemplu.
Exemplu. Având în vedere două numere: X = 101001 și Y = -11010. Pune-le într-un cod suplimentar modificat.
1) traduce în X și Y modificat codul adițional: