Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » tehnologie » electronica electricitate
Numere binare negative

Numere binare negative


Numere binare negative

Operatia de scadere prin adunare

Operatia de scadere se poate realiza asemanator cu cea de adunare prin considerarea unuia dintre numere ca fiind negativ. De exemplu, operatia de scadere "7 - 5" este aceiasi cu cea de adunare "7 + (-5)", adica, adunarea unui numar pozitiv cu un numar negativ. Din moment ce stim deja cum se realizeaza reprezentarea numerelor pozitive sub forma binara, tot ceea ce trebuie sa facem este sa reprezentam si numerele negative sub forma binara. De aici va rezulta direct operatia de scadere.

Un numar zecimal negativ se reprezinta de obicei prin introducerea semnului minus(-) la stanga, la fel ca in exemplul de sus (-5). Totusi, scopul notatiei binare este realizarea circuitelor tip pornit/oprit pentru reprezentarea valorilor sub forma caderilor de tensiune (doua valori alternative: "inalta" si "joasa"). In aceasta situatie, nu ne putem permite sa introducem un al treilea simbol, precum semnul minus, din moment ce aceste circuite au doar doua stari posibile, pornit sau oprit.

Bit-ul de semn

O solutie o reprezinta utilizarea unui bit (circuit) doar pentru reprezentarea acestui semn matematic si pentru nimic altceva:

1012 = 510 (pozitiv) Utilizand un bit aditional (0 = pozitiv, 1 = negativ): 01012 = 510 (pozitiv) 11012 = -510 (negativ)

Dar, in aceasta situatie in care folosim biti pentru alt scop decat pentru reprezentarea valorilor, trebuie sa fim foarte atenti, altfel, riscam ca numarul 11012 sa fie interpretat ca fiind 1310 in loc de -510. Pentru a nu crea astfel de confuzii, trebuie sa ne decidem in primul rand de cati biti avem nevoie pentru a reprezenta cel mai mare numar posibil cu care vom lucra in aplicatia noastra. Ne putem apoi asigura ca nu vom depasi aceasta lungime (in biti) atunci cand aplicam operatiile aritmetice. In exemplul de mai sus, limita inferioara este -7 (11112) iar cea superioara 7 (01112), deoarece al patrulea bit este folosit pe post de semn. Doar prin stabilirea acestor numere putem fi sigur ca nu vom amesteca un numar negativ cu un numar pozitiv, mai mare.



Pe cat de simpla pare aceasta abordare, ea nu este foarte practica din punct de vedere al aritmeticii. De exemplu, cum efectuam adunarea unui numar negativ (11012) cu un oricare alt numar, folosind tehnica standard al adunarii binare? Ar trebui sa inventam o noua metoda de realizare a adunarii pentru ca aceasta tehnica sa fie practica. Dar, daca realizam acest lucru, nu vom mai avea avantajul utilizarii numerelor negative pentru realizarea scaderii prin adunare obisnuita.

Reprezentarea in complement fata de doi

Din fericire, exista o alta metoda pentru reprezentarea numerelor negative ce este compatibila cu operatia de adunare obisnuita, si anume, complementarea. Cu aceasta strategie, bit-ul din stanga primeste un statut special, asemenea bit-ului de semn din exemplul precedent. Totusi, de aceasta data, bit-ul din stanga nu este doar un bit de semn, ci poseda si o valoare. De exemplu, -5 este reprezentat astfel:

10112 = -510 (1 x -810) + (0 x 410) + (1 x 210) + (1 x 110) = -510

Utilizand cei trei biti din dreapta pentru reprezentarea valorilor de la zero la sapte, bit-ul din stanga reprezentand fie zero fie -8, putem reprezenta orice numar intreg de la -7 (10012 = -810 + 110 = -710) la +7 (01112 = 010 + 710 = 710).

Reprezentarea numerelor pozitive utilizand aceasta notatie nu este diferita fata de notatia normala (bit-ul din stanga va fi tot timpul zero). Totusi, reprezentarea numerelor negative nu este chiar asa de intuitiva.


-1 = 1111
-2 = 1110
-3 = 1101
-4 = 1100
-5 = 1011
-6 = 1010
-7 = 1001
-8 = 1000

Observam ca numerele binare negative din coloana dreapta, fiind suma celor trei biti din dreapta plus bitul negativ din dreapta, egal cu minus opt, nu se "numara" in aceiasi ordine precum numerele binare pozitive din coloana stanga. In schimb, cei trei biti trebuie adusi la forma necesara, astfel incat, dupa adunarea cu minus opt sa se obtina rezultatul negativ dorit.

Spunem ca cei trei biti din dreapta sunt o reprezentare in complement fata de doi al numarului pozitiv corespunzator. Sa facem o comparatie:

numar pozitiv complementul fata de doi
----- ----- --------------
111
110
101
100
011
010
001

Obtinerea numarului in complement fata de doi

In acest caz (bit-ul al patrulea are valoarea de minus opt), reprezentarea in complement fata de doi a oricarui numar pozitiv este valoarea necesara insumari cu minus opt pentru a rezulta aceiasi valoare, dar cu semn schimbat. Din fericire, exista o cale usoara de calcul al complementului, pentru oricare numar binar: inversam toti bitii acelui numar, schimband 1 cu 0 si invers. Ajungem astfel la reprezentarea in complement fata de unu a numarului. Pentru solutia dorita de noi, mai trebuie sa adaugam un unu.

De exemplu, pentru obtinerea complementului lui cinci (1012), inversam toti bitii si obtinem 0102(complement fata de unu), apoi adaugam un unu si obtinem 0112, sau -510 in complement fata de doi.

Este interesant de mentionat faptul ca, obtinerea complementului fata de doi a unui numar binar functioneaza la fel de bine si daca aplicam inversarea tuturor bitilor, inclusiv bit-ului din stanga. Sa luam exemplul precedent, inversarea lui 5 in -5, dar aplicand operatia de inversare tuturor bitilor. Trebuie sa includem insa si bit-ul din stanga numarului initial (01012). Dupa inversarea tuturor bitilor, obtinem complementul fata de unu (10102). Apoi, adaugam un unu pentru obtinerea raspunsului final: 10112, sau -510 in complement fata de doi, exprimat cu patru biti.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.