数据的表示
进制转换
R进制转十进制: 按权展开法
eg.
七进制 604.1=6*49 + 0*7 + 4*1 + 1*(1/49)
十进制转R进制: 短除法
eg. 94转为2进制
2|94 余0
2|47 1
2|23 1
2|11 1
2|5 1
2|2 0
1 1
然后从下往上,得到 1011110
二进制转八进制与十六进制
八进制
八进制可以表示0-7八个基数,需要3位二进制表示
因此,转换时3位二进制表示一位八进制
10 001 110
2 1 6
十六进制
同理,十六进制表示0-15,需要4位二进制表示
因此,转换时4位二进制表示一位十六进制
1000 1110
8 E
原反补移
第一位为符号位
原码
即数据的二进制
反码
正数的反码和原码相同
负数的反码是除符号位,其他位取反
补码
正数的补码与原码相同
负数补码=反码末尾位加1
移码
无论正负,补码符号位取反
原补转换:除符号位 取反加1
算术运算
需要用补码计算,通过溢出的方式得到正确结果
注意:补码得到的不是真实结果,需要再转换为原码
否则遇到负数会出现错误