编码规则
不同的文件有不同的编码规则
例如:
01010101
转换为16进制为
55
这里如果当作有符号数来判断,那么01010101转换为16进制仍然为55,原因很简单:
- 若字节最高位以1开头,那么值为负。
- 若字节最高位以0开头,那么值为正。
例如:
11010101 //这里当无符号数转换
转换为16进制为:0xD5
转换为10进制为:213
那么当有符号数判断时是-213么,答案是:不是。
有符号数的编码规则
原码:最高位为符号位,其余各位为数值本身的绝对值
反码:
正数:反码与原码相同
负数:符号位为1,其余为与原码取反
补码:
正数:补码与原码形同
负数:符号位为1,其余与原码取反并加1
举例说明
这里数据宽度我们用字节(8bitÿ