La mayoría de las veces, las computadoras usan lo que se llama complemento 2 para representar enteros con signo.
La manera en que el complemento a 2 funciona es que los valores posibles están en un bucle enorme, de 0, a MAX_VALUE, a MIN_VALUE, a cero, y así sucesivamente.
Por lo tanto, el valor mínimo es el valor máximo +1 - 01111111 = 127
y 10000000 = -128
.
Esto tiene la buena propiedad de comportarse exactamente igual que la aritmética sin signo: si quiero hacer -2 + 1
, tengo 11111110 + 00000001 = 11111111 = -1
, usando el mismo hardware que para la adición sin firmar.
La razón por la que hay un valor adicional en el extremo inferior es que optamos por tener todos los números con el conjunto de bits altos como negativos, lo que significa que 0 toma un valor del lado positivo.
FWIW, 0111111 = 63. –