汇编系列5-有符号数 无符号数,原码反码补码

上面讲了数据宽度,比如数据宽度为一个字节,那么存储的数据范围就是:0~0xFF

那么这个数据代表什么意思呢?  0101 0101

若果不先说明这个数据的格式是什么样子的(文本,可执行程序,视频,图片....),那么将没有办法解析它,不知道它代表的是什么。

1.无符号数的编码规则

  告诉了是无符号数,直接解析成相应数字即可。

2.有符号数的编码规则--正数编码规则

  有符号数,最高位为0时,为正数,编码规则与无符号数一样。

  负数 有无符号数的规则不同。

1、编码规则

  不同的文件有不同的编码规则。

  1101 0101 ----无符号数 0xD5  213  有符号数会是多少? -213?   -43

原码:最高位为符号位,其余各位为数值本身的绝对值

反码:

  正数:反码与原码相同

  负数:符号位为1,其余对原码取反

补码:

  正数:补码与原码相同

  负数:符号位为1,其余位对原码取反加1

举例:

  1  0000 0001

  6  0000 0110

  -1  1000 0001(原码)  1111 1110(反码) 1111 1111(补码)

通过实验得出:在计算机中,正数是以原码存储的,负数是以补码存储的。

 

  

  

原文地址:https://www.cnblogs.com/RevelationTruth/p/13894590.html