数据的表示

进制转换

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

算术运算

需要用补码计算,通过溢出的方式得到正确结果

注意:补码得到的不是真实结果,需要再转换为原码

否则遇到负数会出现错误