Complement a dos
El complement a dos d'un nombre natural N que, expressat en el sistema binari està composat per n dígits, es defineix com:
- <math>C_2^N=2^n - N</math>
Vegem un exemple: prenem el nombre <math>N = 45</math> que, quan s'expresa en binari és <math>N=101101_2</math>, amb 6 dígits, i calculem el seu complement a dos:
- <math>N=45</math>, <math>n=6</math>; <math>2^6=64</math> i, per tant: <math>C_2^N = 64-45 = 010011_2</math>
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:
- <math>C_2^N = C_1^N + 1</math>
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.