~ Operación de negación
ejemplo:
Inversión de números positivos
15:0000 0000 0000 0000 0000 0000 0000 1111
取反运算(得到的是补码):1111 1111 1111 1111 1111 1111 1111 0000
转原码:
1111 1111 1111 1111 1111 1111 1111 0000
-1
1111 1111 1111 1111 1111 1111 1110 1111
取反得原码(符号位不变):1000 0000 0000 0000 0000 0000 0001 0000
得 -16
Operación de inversión de números negativos (los números negativos se almacenan en forma de complemento en la computadora)
-15:1000 0000 0000 0000 0000 0000 0000 1111
转原码:
1000 0000 0000 0000 0000 0000 0000 1111
-1
1000 0000 0000 0000 0000 0000 0000 1110
取反得原码(符号位不变):1111 1111 1111 1111 1111 1111 1111 0001
取反运算:0000 0000 0000 0000 0000 0000 0000 1110
得 14
Por lo tanto, durante la operación de inversión del código original, el bit de signo permanece sin cambios. Esta vez la inversión no es una operación de inversión. La
operación de inversión se realiza directamente sobre el código original.
Un número positivo se invierte directamente primero y luego se convierte al código original para obtener el valor.
Los números negativos se convierten primero al código original y luego se realiza la inversión para obtener el valor.
Método simple
También puede utilizar un método de cálculo que sea adecuado para cálculos humanos:
si niega un bit a bit, el resultado es - (a + 1).
Este método de cálculo es aplicable tanto a números positivos como negativos y cero.
Referencia: https://www.cnblogs.com/shuaiding/p/11124974.html
¿Perdiste la escuela?