¿Por qué el valor mínimo de un número entero es -32768 en lugar de -32767?
0000 0000 0000 0000[0] o 1000 0000 0000 0000 0000[-0]
Por lo tanto, solo se puede representar como -32767~32767
Pero si se almacena en forma complementaria, el valor extra de 0 [0 o -0] se identifica de forma única como 0000 0000 0000 0000
Los bits adicionales se utilizan para representar el número entero más pequeño, es decir, - por lo tanto, el valor del número entero más pequeño es -32768
El llamado código complementario, es decir, el código original menos el bit de signo como el recíproco del bit de signo, más 1
Información complementaria:
Si la longitud de la palabra del código de máquina es n 1 bits, entonces:
Rango decimal de coma fija original: -(1-2^(- n)) ~ (1-2^(-n))
Rango decimal de coma fija suplementario: -1 ~ (1-2 ^(-n))
Rango de enteros de punto fijo original:-(2^n-1) ~ (2^n-1)
Rango de enteros de punto fijo suplementario: -2^n ~ (2^n-1)
Rango de enteros de punto fijo suplementario: -2^n ~ (2^n-1)
Entero de punto fijo sin procesar rango: -2^n ~ (2^n-1)
Rango de enteros de punto fijo sin procesar: -2^n ~ (2^n-1) 2^n ~ (2^n-1 )
Observe que el código complementario representa un número más que el código original, es decir, el número más pequeño, por lo que la forma de complemento a dos se usa generalmente para el almacenamiento de la máquina.