二进制的原码和反码与补码的详细资料讲解

真值与机器值

真值很好理解,就是十进制的数字前面再加上正负号,这是人类可以简单识别的数字,比如0、±16、±1084、±10.34、±100.453等,而正数前面的+符号可以省略。机器值从字面理解就是机器(     计算机   )识别的值,实际上也确实是这个意思。

计算机中通过高低电平表示1或者0,这样就可以表示一个二进制的数值。一个1或者0表示的数值位称为一个bit,而计算机中存储和传输数据的最小单位是一个字节(by     te   )也就是8个bit,所以说计算机所有计算本质上都是基于二进制。

由于很多时候一个数据需要使用2个或者2个以上的字节表示,那么这种数据无论是存储还是传输的时候都会有一个顺序的问题,也就是大小端对齐(字节序)问题。在存储时高位字节在前为大端对齐,反之为小端对齐。在数据传输时先传输高位字节为大端字节序,反之为小端字节序。目前绝大多数平台内部都是小端对齐的方式存储数据,而大多数通信协议却都是用大端字节序传输数据,所以这一点值得注意一下。

符号位与数值位

计算机中使用二进制存储传输和计算数值,但是不能只有数值,计算的时候还得有正负之分。在计算机中使用最高bit位的数值来表示正负号,这个bit位称作符号位。

计算机中符号位的值为0表示这个数为正数,符号位值为1表示这个树为负数。由于符号位表示符号所以其不表示具体的值,除开符号位剩余的bit位用来表示数值也就是数值位。比如1个字节的整数00000001,其中最高bit(最左边)位的0为符号位,表示这个数为正数,数值位为1,所以其真值为1。同理2个字节的整数00000000_0000001,其真值也是1。

原码、反码和补码

 二进制的原码和反码与补码的详细资料讲解_设计制作_MEMS/传感技术

注:int8为8bit位整数占用1byte,int16为16bit位整数占用2byte。

 二进制的原码和反码与补码的详细资料讲解_设计制作_MEMS/传感技术

被乘数的第1个bit位值为0,将被乘数乘以0然后左移1位得到:00000000;

被乘数的第4个bit位值为0,将被乘数乘以0然后左移4位得到;00000000;

被乘数的第5个bit位值为0,将被乘数乘以0然后左移5位得到;00000000;

被乘数的第6个bit位值为0,将被乘数乘以0然后左移6位得到;00000000;

被乘数的第7个bit位值为0,将被乘数乘以0然后左移7位得到;00000000;

至于除法则是使用交替加减法的方式,本文只是对计算原理做一下扩展,这里不再继续深入做介绍,如果有想了解的可以自行上网查询。

通过上面的分析可以知道,使用补码可以将所有计算都转化为加法计算,这样可以让计算机底层对于整数计算变得简单,反码属于历史遗留,因为其存在±0的问题。

61
87
0
57

相关资讯

  1. 1、王太利、柳岩玩命开黑车,动作喜剧《冒牌大保镖》上演三傻闯天关3938
  2. 2、西游记老戏骨重聚!“玉皇大帝”胡子拉碴,“如来佛祖”头发花白2794
  3. 3、胡歌最经典的古装角色:宇文拓垫底,梅长苏第3,第1第2难超越2338
  4. 4、《假日暖洋洋》大结局:侯昊许可依海洋馆热吻,海豚才是演技王者635
  5. 5、《战火西北狼》初播获好评湖南地区收视夺冠5107
  6. 6、他给《阿修罗》打9.0分,力挺小沈阳,却吐槽《药神》不如自己1585
  7. 7、《厕所英雄》戴的是女权的帽子,非常对中国观众胃口3494
  8. 8、为了更好的生活,看看这个世界的另一面3407
  9. 9、《长歌行》阿窦下线,饰演者冯俊杰来头不小!1505
  10. 10、51岁的黎明长了一脸老年斑,和小19岁的娇妻像两代人!125
全部评论(0)
我也有话说
0
收藏
点赞
顶部