上面讲了数据宽度,比如数据宽度为一个字节,那么存储的数据范围就是: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(补码)
通过实验得出:在计算机中,正数是以原码存储的,负数是以补码存储的。