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

真值与机器值

真值很好理解,就是十进制的数字前面再加上正负号,这是人类可以简单识别的数字,比如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、看完《信条》,我一直想起哆啦A梦和大雄【此刻电影】614
  2. 2、三月份剧单出炉!白敬亭对标黄景瑜,迪丽热巴新剧又是爆款4457
  3. 3、戏路被长相限制?延禧攻略这位本要演丫鬟,导演见后直呼:正宫脸4602
  4. 4、《花千骨》里的这俩人竟然是双胞胎,网友:欺骗我们这么久!2908
  5. 5、《斗破苍穹》三大神火相融,萧玄变爆炸头,萧祖:这波操作给满分297
  6. 6、从《顶楼》,看韩剧是如何讲故事的1257
  7. 7、杨幂挑战“先婚后爱”角色,与许凯上演爱情故事,网友:太期待1115
  8. 8、杨颖没演技?认真看剧了吗?3557
  9. 9、张雨绮亮相综艺,竟被男嘉宾田亮挑衅“胸小”,随后霸气回怼!3650
  10. 10、《深海历险记》曝终极预告海底人类城危机四伏4102
全部评论(0)
我也有话说
0
收藏
点赞
顶部