Red de conocimientos sobre prescripción popular - Conocimiento dental - Por ejemplo, en un programa en lenguaje C, el valor del número sin signo A es negativo. ¿Por qué el resultado de salida es 64870?
Por ejemplo, en un programa en lenguaje C, el valor del número sin signo A es negativo. ¿Por qué el resultado de salida es 64870?
Los números negativos se almacenan en la memoria en forma de complemento a dos,
Es decir -666
Código original: 1000 0010 1001 1010.
Código inverso: 111111101010101 (el bit de signo permanece sin cambios y el resto de bits se invierten).
Código de complemento: 111101110011110 (anticode 1
Es decir, los datos reales en la memoria son 0b 1111011101165438 = 64870.
Y a es un int corto sin firmar , Por lo tanto, la retroalimentación debería ser un número positivo de 64870.