【java学习日记1】原码反码补码

原码反码补码

计算机里面的数字相加都是以二进制的形式运行的,所以想正确的得到相加的数字得把相应的进制转换为二进制来使用.

原码

就是二进制本身,如果是10进制的数可以使用8421计数法来快速的计算它的二进制

比如:9和6

其二进制在8421中分别为

1001 和 0110

反码

其原码的二进制数全部符号位不变以外全部翻转(即0变1 1变0)

如9的原码是1001,则它的反码则是1110

补码

补码则是反码加1

如9的反码是1110,则它的补码则为1111

+0与-0

正常逻辑来看,+0跟-0并没有实质上的区别,但是在计算机中正负0是两个不一样的,所以我们可以通过补码来了解计算机是如何保存的

+0的原码是0000 0000

-0的原码则是1000 0000

但是我们通过反码与补码可以得到

-0的反码是1111 1111(符号位不变 其他取反)

而它的补码则是1 0000 0000 (反码加1)

这时最开头的1被溢出所以-0的补码0000 0000就是+0的原码

所以计算机中这两者的区别是不大的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值