黑马程序员技术交流社区
标题:
【java基础】——原码,反码与补码
[打印本页]
作者:
bingdian107
时间:
2015-8-16 17:56
标题:
【java基础】——原码,反码与补码
有符号的数据表示法:原码,反码,补码
计算机内数据的运算都是采用对应二进制数据的补码进行的
原码,反码,补码都是由符号位和数值位组成
原码:
正数的原码最高位是0
负数的原码最高位是1
其他的是数值位
符号位 数值位
+7 0 0000111
-7 1 0000111
反码:
正数的反码与原码相同
负数的反码与原码符号位相同,数值位取反
符号位 数值位
+7 0 0000111
-7 1 1111000
补码:
正数的补码与原码相同
负数的补码是在反码的基础上加1,所以符号位有可能会发生变化
符号位 数值位
+7 0 0000111
-7 1 1111001
测试:
A:已知某数X的原码为10110100B,试求X的补码和反码。
原码为10110100B,说明是此数据是一个为负的二进制数
负数的反码是与原码符号位相同,数值位取反,即11001011B
负数的补码是其反码加1,即11001011+1=11001100B
B:已知某数X的补码11101110B,试求其原码。
符号位 数值位
补码 1 1101110
反码 1 1101101
原码 1 0010010
作者:
软件小白
时间:
2015-8-16 19:50
能够详细的讲一下负数的原码、反码、补码?
作者:
bingdian107
时间:
2015-8-16 19:54
软件小白 发表于 2015-8-16 19:50
能够详细的讲一下负数的原码、反码、补码?
我也是小白,刚刚学,你哪里不明白
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2