负数的二进制表示方法

负数表示不是简单地将最高位变为1,比如:

1)byte a=-1,如果只是将最高位变为1,二进制应该是10000001,但实际上,它应该是11111111。

2)byte a=-127,如果只是将最高位变为1,二进制应该是11111111,但实际上,它却应该是10000001。

和我们的直觉正好相反,这是什么表示法?这种表示法称为补码表示法,而符合我们直觉的表示称为原码表示法,补码表示就是在原码表示的基础上取反然后加1。取反就是将0变为1,1变为0。负数的二进制表示就是对应的正数的补码表示,比如:

1)-1:1的原码表示是00000001,取反是11111110,然后再加1,就是11111111。

2)-2:2的原码表示是00000010,取反是11111101,然后再加1,就是11111110。

3)-127:127的原码表示是01111111,取反是10000000,然后再加1,就是10000001。

总结下来就是:负数的表示方式是,先写出其原码,按位取反,加1。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容