欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

详解整数(int)的正负号下的原码、反码与补码概念

最编程 2024-07-20 17:15:06
...

最近研究线程池的状态,竟是用二进制来表示状态的。

复习一下

1、正数

      原码 是以数值的绝对值大小转换成二进制, 最高位补0,

      反码、补码和原码相同。

     比如: 正数int i=6,int类型的数占用4字节(32位-Integer.SIZE=32)

                           原码= 0000 0000 0000 0000  0000 0000 0000 0110, 

                            反码=0000 0000 0000 0000  0000 0000 0000 0110,

                            补码=0000 0000 0000 0000  0000 0000 0000 0110;

2、负数

    原码 是以数值的绝对值大小转换成二进制, 最高位补1 .

    反码 是对原码 除 符号位(最高位)外,各位取反(1变0,0变1). 

    补码 是对原码 除符号位(最高位)外 各位取反,最后一位加1.

  比如 负数 int i=-6,

                           原码=1000 0000 0000 0000  0000 0000 0000 0110, 

                            反码=1111 1111 1111 1111  111