《Oracle Java SE编程指南》07-09:原码、反码和

2020-05-12  本文已影响0人  AT阿宝哥
课程封面-JavaSE-AT阿宝哥

内容导航


前言

原码、反码和补码是计算机存储一个具体数字的二进制编码方式。

Java编程语言中,正数都采用原码存储,负数采用补码存储。


1、原码

原码就是符号位加上值的绝对值, 即用第一位表示符号, 其余位表示值。如果是采用8位二进制,那么+1-1的原码就表示为:


+1原码 = 0000 0001
-1原码 = 1000 0001

所以8位二进制数的取值范围就是-127+127,其原码如下:


+127原码 = 0111 1111
-127原码 = 1111 1111


2、反码

反码的表示法为:

那么+1-1的反码就表示为:


+1原码 = 0000 0001
+1反码 = 0000 0001

-1原码 = 1000 0001
-1反码 = 1111 1110

由此可见,如果用反码表示负数,要将其转换成原码再计算。


3、补码

补码的表示法为:

那么+1-1的补码就表示为:


+1原码 = 0000 0001
+1反码 = 0000 0001
+1补码 = 0000 0001

-1原码 = 1000 0001
-1反码 = 1111 1110
-1补码 = 1111 1111

由此可见,如果用补码表示负数,要将其转换成原码再计算。


持续更新,欢迎留言提议!
码字很累,多点赞多赞赏!


扫描二维码,关注AT阿宝哥
上一篇 下一篇

猜你喜欢

热点阅读