Bazele aritmeticii computerizate - stadopedia

Aritmetica binară, un tabel de operații binare. Operații aritmetice pe numere reprezentate într-o formă cu puncte variabile. Funcționarea codurilor de scădere și număr de mașini: directă, inversă, suplimentară.







Înainte de a trece la studiul aritmeticii computerizate în virgulă mobilă, luați în considerare aritmetica binară în cea mai simplă formă.

Aritmetica binară. Operațiile aritmetice în orice sistem de numere poziționale sunt realizate pe biți, la fel ca în SS zecimal. Toate operațiunile au caracteristici proprii. Astfel, atunci când se adaugă două numere, poate să apară transferul la ordinea superioară dacă suma termenilor în descărcare este mai mare sau egală cu p - baza SS. Atunci când se scade, poate fi un împrumut de unul de la cel mai înalt nivel, în cazul în care scadența în descărcarea de gestiune este mai mică decât deductibil. Trebuie avut în vedere faptul că unitatea transferată la ordinul inferior se transformă în p. Aceste reguli pentru cazul unui sistem de numere binare sunt rezumate în Tabelul. 12.1.

Bazele aritmeticii computerizate - stadopedia

Având în vedere faptul că multiplicarea oricărui număr cu zero duce la zero și înmulțirea cu un număr dă numărul inițial, obținem că multiplicarea în binar SS se reduce la operațiile de adăugare și schimbare și divizarea în operații de scădere și schimbare. Luați în considerare aceste dispoziții pe exemple specifice.

Exemplul 12.1. Calculați suma, diferența și produsul numerelor A și B. unde A = 1010.011 (2). B = 100,101 (2). Calculați coeficientul C.D unde C = 11001 (2). D = 101 (2).

În linia "împrumut", punctul de deasupra unității înseamnă că această unitate este ocupată în ordine scăzută. De la trecerea la ordinea inferioară, se "transformă" în p. și p = 2 în cazul nostru, atunci este scris pentru claritatea înțelegerii, deși acest lucru nu este complet corect. În cazul în care împrumutul se deplasează mai departe, atunci legea rămâne în unitatea de evacuare, iar cealaltă trece la următoarea ordine scăzută.

În computere, aceste operațiuni se efectuează luând în considerare reprezentarea numărului în grila de biți conform schemelor care permit minimizarea numărului de pași elementari, iar noi le vom studia mai departe.

Operațiuni aritmetice pe numere reprezentate într-o formă în virgulă mobilă. Principiul de bază al efectuării aritmeticii cu virgulă mobilă este acela că acțiunile cu mantisă și ordine se fac separat și independent unul de celălalt.

Luați în considerare adăugarea și scăderea numerelor reprezentate într-o formă cu puncte variabile. Să fie date două numere pozitive reprezentate în forma normalizată în sistemul numeric cu baza p:

Deoarece adăugarea și scăderea în sistemele de numere poziționale sunt realizate în mod biologic, este necesar ca corespondenții să coincidă scări ale acelorași biți ai mantiselor termenilor. În acest scop, este necesar să se aducă numerele x1 și x2 în aceeași ordine. Pentru a evita deversările, datorită restricțiilor privind mantisa (), numerele ar trebui aduse la ordinea unui număr mai mare. Presupunând pentru claritate, scriem







În conformitate cu cele de mai sus, atunci când adăugați (scădea) numerele cu virgulă mobilă, acțiunile sunt efectuate în ordinea următoare.

1. Alinierea ordinelor - ordinea unui număr mai mic este redusă la un ordin de mărime mai mare în valoarea absolută a numărului, iar mantisa cu număr mai mic este deplasată spre dreapta cu numărul de cifre egal cu diferența de ordine ().

2. Adăugarea (scăderea) mantiselor.

3. Rotunjirea și normalizarea (dacă este necesar) a rezultatului.

Adăugarea. Luați în considerare, de exemplu, adăugarea a două numere binare pozitive.

Exemplul 12.2. Calculați suma numerelor și le reprezentați într-o formă în virgulă mobilă, cu condiția ca în bitmap să fie alocate 5 biți pentru reprezentarea mantisă, iar reprezentarea ordinului este de 3 biți.

Scrieți numerele în forma normalizată

În bitmap, acestea vor arăta astfel:

1. Alinierea comenzilor

2. Adăugarea de mantisuri (împreună cu șiruri de caractere)

3. Rotunjirea (adăugând 1 la cel mai mare dintre biții eliminați)

Aruncând a șasea cifră, primim o sumă rotunjită de mantisuri 0 11010.

4. Normalizarea (nu este necesară, deoarece nu a fost transferat din mantisă).

Scadere. Operația de scădere este o operație mai consumatoare de timp în comparație cu adăugarea, deoarece apare adesea necesitatea de a lua o unitate din ordinul superior. Dacă se dovedește că modulo este mai mic decât subtrahendul, atunci procesul de împrumut continuă până la cel mai înalt nivel, după care scăderea trebuie făcută din nou, schimbând subtrahendul și decrementul, precum și semnul diferenței. În același timp, din punct de vedere algebric, scăderea nu diferă de adăugare și este o adăugare cu elementul opus:

Pentru a simplifica funcționarea scăderii și a reduce la plus, este utilizată o reprezentare specială a numerelor negative din codurile mașinilor.

Codurile mașinilor. Codurile mașinilor cu numere sunt de trei tipuri: cod direct, suplimentar și invers.

Luați în considerare numărul x. reprezentate într-o formă în virgulă mobilă:

Denumim mantisa lui R = 0, a1a2 ... an. Având în vedere regulile pentru codificarea caracterelor, reprezentarea sa în FZ poate fi scrisă după cum urmează:

Această reprezentare se numește codul direct al numărului x. Deoarece aceste expresii pot fi rescrise în formă

rezultă că operația de scădere poate fi înlocuită cu o operație de adăugare cu un număr urmată de o scădere a p. Pentru a implementa scăderea în acest mod, definim un cod suplimentar pentru numărul x:

Să ținem cont de faptul că, cu semnul negativ luat în considerare, codul adițional este adăugarea numărului la baza sistemului numeric p. și anume nu este altceva decât un element invers prin adăugarea în inel a reziduurilor modulo p.

Operația de scădere poate fi reprezentată și într-o altă formă:

Codul definit cu această relație

se numește codul numeric invers. Este adăugarea mantistei la numărul de bază maxim.

Din relațiile (12.3) - (12.5) se poate concluziona că pentru numerele pozitive ale liniei, codurile inverse și complementare coincid cu mantisa normalizată a numărului. Pentru numere negative de la (12.4) și (12.5), obținem relația care leagă codurile inverse și adiționale:

din care rezultă că aceste coduri diferă una de cealaltă cu una din ultima cifră. Codurile adiționale și inverse se numesc coduri inverse. Rețineți că, prin definiție, mantisa are o parte integrală zero. În același timp, semnul numărului este codificat de zero sau de numărul maxim de bază și este plasat în fața mantistei. Astfel, identificarea unei descărcări corespunzătoare părții întregi a numărului și descărcarea semnului are loc în codurile mașinii.

Luați în considerare trei numere și scrieți codurile mașinilor:

Având în vedere că p în sistemul p al calculului are forma 10, calculăm codurile adiționale prin formula (12.4). Întreaga parte a rezultatului ajunge la semnul semnat al codului (este separat de un spațiu):

Acum calculați codurile inverse:

Rețineți că pentru a obține codul invers al unui număr binar negativ, pur și simplu trebuie să înlocuiți 0 cu 1 și 1 cu 0 în intrarea codului direct pentru acel număr.







Articole similare

Trimiteți-le prietenilor: