Red de conocimientos sobre prescripción popular - Conocimiento del confinamiento - ¿Por qué los valores máximo y mínimo de los enteros cortos son así?

¿Por qué los valores máximo y mínimo de los enteros cortos son así?

Déjame decirte algo:

Short ocupa dos bytes y cada byte tiene 8 bits, que son 16 bits. El bit más bajo de 0000000000000000000 es 0 y el bit más alto es 15. 0-15 es exactamente 16, ¿entiendes?

Número sin signo: Estos 16 bits representan números, el mayor es: binario: 1111111165438.

El valor decimal es: 65535; mucha gente está confundida. 2 sobre 16 es 65536. Sí, pero eso no es lo que significa. Representa dos bytes con 16 bits, lo que significa que puede representar 65536 números. Lo que queremos decir es que el número máximo que se puede representar con 16 bits es 65535, y los números del 0 al 65535 son exactamente 65536 números. ¿Entiendo? Por ejemplo, un número de cuatro dígitos: 0000 es 0 y 111 es 15. Esto significa que el número máximo representado por el número de cuatro dígitos es 15, no 2 elevado a la cuarta potencia, 16.

Número con signo: El bit más significativo es el bit de signo. Sólo 15 bits pueden representar un valor numérico, que puede representar 32768 números. Los números positivos son 32768 números del 0 al 32767 y los números negativos son 32768 números del -1 al -32768. El bit binario más alto es 0, que representa un número positivo, y 1, que representa un número negativo.

Generalmente en las computadoras los números se representan por su complemento, y el complemento de un número sin signo es el código original. Por ejemplo, el valor almacenado en la computadora es 1101010101000, así que use dos directamente.

El complemento de un número con signo es el complemento del último dígito del código original más 1, que es la inversión bit a bit del número binario. El último dígito más 1 es el complemento de. el número firmado. (El complemento del complemento es el código original. Encontrar el código original del complemento es encontrar el complemento nuevamente). Por ejemplo, sigue siendo el número binario 1101101110438 0000 anterior, pero este es el complemento del número con signo; Primero debemos encontrar su código original, invertirlo poco a poco y mantener el bit de signo sin cambios. No participa en el cálculo de conversión de binario a decimal: 1010101011111, el último dígito más 1 es:

101011010101000, decimal:

Otro ejemplo es el número de contrato: 111111111165438.

Suma 1 al último dígito, el código original es: 1000 0000 0001, por lo que el sistema decimal es -1

En cuanto al código de máquina original (0 es positivo, 1; es negativo), jaja, así está estipulado.