logo

Diferența dintre reprezentarea Complementului 1 și Tehnica de reprezentare a Complementului 2

Condiție preliminară – Reprezentarea numerelor binare negative

complementul lui 1 al unui număr binar este un alt număr binar obținut prin comutarea tuturor biților din el, adică transformând bitul 0 la 1 și bitul 1 la 0. Exemple:



Let numbers be stored using 4 bits 1's complement of 7 (0111) is 8 (1000) 1's complement of 12 (1100) is 3 (0011)>

complementul lui 2 al unui număr binar se adaugă 1 la complementul 1 al numărului binar. Exemple:

Let numbers be stored using 4 bits 2's complement of 7 (0111) is 9 (1001) 2's complement of 12 (1100) is 4 (0100)>

Aceste reprezentări sunt folosite pentru numerele semnate.

The principala diferenta între complementul de 1′ s și complementul de 2′ este că complementul 1′ s are două reprezentări de 0 (zero) — 00000000, care este zero pozitiv (+0) și 11111111, care este zero negativ (-0); în timp ce în complementul de 2′ s, există o singură reprezentare pentru zero — 00000000 (0), deoarece dacă adăugăm 1 la 11111111 (-1), obținem 100000000, care are nouă biți. Deoarece sunt permisi doar opt biți, bitul din stânga este eliminat (sau depășit), lăsând 00000000 (-0) care este același cu zero pozitiv. Acesta este motivul pentru care se folosește în general complementul 2′.



O altă diferență este că, în timp ce adunăm numere folosind complementul de 1, mai întâi facem adunări binare, apoi adăugăm o valoare de transport finală. Dar, complementul 2′ s are o singură valoare pentru zero și nu necesită valori de transport.

Intervalul complementului 1 pentru un număr de n biți este de la -2n-1-1 la 2n-1-1 în timp ce intervalul complementului 2 pentru n biți este de la -2n-1la 2n-1-1.

converti un obiect java în json

Sunt 2n-1numere valide în complementul 1 și 2nnumere valide în complementul 2.



Diferența dintre reprezentarea Complementului 1 și reprezentarea Complementului 2 în formă tabelară:

Criterii Complementul lui 1 Complementul 2
Definiție Complementul 1 al unui număr binar se obține prin inversarea tuturor biților acestuia. Complementul 2 al unui număr binar se obține prin adăugarea lui 1 la complementul 1 al numărului.
Interval de valori care pot fi reprezentate cu n biți De la -2^(n-1) + 1 la 2^(n-1) – 1 De la -2^(n-1) la 2^(n-1) – 1
Numărul de reprezentări pentru zero Poate fi reprezentat în două moduri (toate 0-urile și toate 1-urile). Poate fi reprezentat într-un singur mod (toate 0-urile).
Adunarea numerelor pozitive și negative La fel ca și adăugarea binară fără semn. La fel ca și adăugarea binară fără semn.
Scăderea numerelor Scădeți numărul mai mic din cel mai mare, apoi adăugați un bit semn la rezultat. Adăugați numărul negativ la cel pozitiv folosind adunarea binară.