Complement a dos

De Viquipèdia
Dreceres ràpides: navegació, cerca

El complement a dos d'un nombre natural N que, expressat en el sistema binari està compost per n dígits, es defineix com:

C_2^N=2^n - N

Vegem un exemple: prenem el nombre N = 45 que, quan s'expressa en binari és N=101101_2, amb 6 dígits, i calculem el seu complement a dos:

N=45, n=6; 2^6=64 i, per tant: C_2^N = 64-45 = 010011_2

Pot semblar complicat, però és molt fàcil obtenir el complement a dos d'un nombre a partir del seu complement a u, perquè el complement a dos d'un nombre binari és una unitat més gran que el seu complement a u, és a dir:

C_2^N = C_1^N + 1

Noteu que en aquest exemple s'ha limitat el nombre de bits a 6, ja que no seria possible distingir entre el -45 i el 19 (el 19 en binari és 10011). En realitat, un nombre en complement a dos s'expressa amb una quantitat arbitrària d'uns a l'esquerra, de la mateixa manera que un nombre binari positiu s'expressa amb una quantitat arbitrària de zeros. Així, el -45, expressat en complement a dos utilitzant 8 bits seria 11010011, mentre que el 19 seria 00010011; i expressat en 16 bits serien 1111111111010011 i 0000000000010011 respectivament.

La utilitat principal del complement a dos es troba en les operacions matemàtiques amb nombres binaris. En particular, la resta de nombres binaris es facilita molt utilitzant el complement a dos: la resta de dos nombres binaris es pot obtenir sumant al minuend el complement a dos del sustraend.

Vegeu també[modifica | modifica el codi]