关于二进制的概念,网上已经很多,这里不多赘述,只说关键的属性说明和示例。
记住,原码是给人看的,补码才是计算机真正使用的。
我们一般所说的二进制是有32位,首位是符号位。0是正数,1是负数。下面我们来根据例子说明二进制与十进制的转换,以及原码补码反码的概念。
(2的0次方)+(2的1次方)= +3
对于正数来说,原码反码补码都一样。这里主要说的是负数。 以-3为例
1000 0011
1111 1100
1111 1101
a=-3,b=2;
a补码:1111 1101
b补码:0000 0010
结果: 0000 0000(正数补码反码一样) = 0
a补码:1111 1101
b补码:0000 0010
结果: 1111 1111(补码)
结果反码:1111 1110
结果原码:1000 0001(保留符号位)
结果= -1
a补码:1111 1101
b补码:0000 0010
结果: 1111 1111
结果反码:1111 1110(补码-1)
结果原码:1000 0001(保留符号位)
结果 = -1
a补码:1111 1101
结果: 0000 0010
结果 = 2
a补码:1111 1101
结果: 1111 0100
结果反码:1111 0011
结果原码:1000 1100(保留符号位)
结果 = -12
a补码:1111 1101
结果: 1111 1111
结果反码:1111 1110
结果原码:1000 0001(保留符号位)
结果 = -1
以上内容在java环境中测试通过。不对之处还望指正。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有