天天看点

原码,反码,补码的理解-Java

在计算机中是以数值是以该数的补码形式来表示.

正数:原码=反码=补码

+12

原码:0,1100

反码:0,1100

补码:0,1100

负数:反码=除符号位原码各位取反; 补码=反码+1

-12

原码:1,1100

反码:1,0011

补码:1,0100

Note:逗号之前为符号位

[x]补码 : 连同符号位在内,每位取反,末位加一,即得到[-x]补码.

System.out.println(Integer.toBinaryString(-12));
System.out.println(Integer.toBinaryString(12));
输出结果:
11111111111111111111111111110100
1100      
  1. 原址:补码转原数值公式(非常简单实用的公式)

    左边的x指计算机中的二进制补码,右边的x是实际的数值。 ↩︎