原码反码补码
机器数与真值
在计算机中所有的数据都是以二进制保存的
0000 0011=+3
1000 0011=-3
在机器数中,使用最高位来表示数字的正负,1为负0为正;一个字长为8位
原码
符号位:首先确定一个数的正负,首位用0表示,如果是负数首位用1表示;
有效位:正值的绝对值转化为二进制形式
将符号位和有效位连接在一起
反码
正数:正数的反码与原码相同;
负数:符号位不变,其余各位直接取反;
补码
正数:正数的原码反码补码全部相同
负数:求得原码,再求反码再加1;
为什么需要反码和补码
反码:在设计计算机的时候只设计了加法器,没有减法器使用加法计算来表示减法
补码:反码解决了没有减法器的问题,但是会出现正负相加0的表示不唯一,使用补码进行修正