Red de conocimientos sobre prescripción popular - Cuidado de la salud en otoño - ¿Por qué el valor mínimo de decimosexto dígito de una variable entera es -32768 en lugar de -32767?
¿Por qué el valor mínimo de decimosexto dígito de una variable entera es -32768 en lugar de -32767?
En el código fuente, tanto el cero positivo como el cero negativo representan cero; en el código complementario, el cero positivo sigue siendo cero, pero se utiliza "cero negativo" para representar el valor mínimo (-32768), que también es una convención. Los números enteros en la memoria se almacenan en forma de complemento a uno. Si se almacenan en forma de códigos sin formato, 0 se puede representar como
0000 0000 0000 0000[0] o 1000 0000 0000[-0]
Por lo tanto, solo puede representar -32767~32767. Sin embargo, si se almacena con complemento a dos, 0[0 o -0] se determina de forma única como 0000000000000000. Los bits adicionales se utilizan para representar el número entero más pequeño, que es -32768.
Entonces, el valor entero más pequeño es -32768.