进制深入之原码反码补码

前面我们已经讲解了进制之间的相互转换,还有疑问的可以点击链接直接跳转:一篇博文带你了解java中的进制转换

学过计算机理论的同学都会知道,一台计算机是由运算器,控制器,存储器,输入和输出设备组成。运算器只会加法运算,没有减法运算,任何存储于计算机中的数据,其本质都是以二进制码存储。

那么就有疑问了,计算机没法进行减法运算,那实际中我们的减法是怎么实现计算的呢?

其实计算机的减法是通过加法来实现的。你也许会说,现实世界中所有的减法也可以当成加法的,减去一个数,可以看作加上这个数的相反数。1-1我们可以看成1+(-1),当然成立的前提是要先有负数的概念。这就为什么不得不引入一个该死的符号位。

原码,反码,补码是为了解决计算机做减法和引入符号位(正号和负号)的问题而产生。


原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

正数 负数
0 0000 1000
1 0001 1001
2 0010 1010
3 0011 1011
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值