原码,反码,补码及其运算

1)简述
原码: 用来转换对应进制.
反码: 二进制码01,10叫做反码,反码用于原码补码之间的转换.(符号位不变)。
补码: 用来做数据的存储运算. 补码提出的根源是让计算机底层的实现减法操作(可以表达出一个数的正负)。
2)运算规则
(原码 反码 补码之间的转换 , 符号位不要动)
正数: 原码 = 反码 = 补码
负数: 原码 = 补码取反加1   给补码求原码
负数: 补码 = 原码取反加1   给原码求补码

求12 +(- 15) = ? 
补码用来做数据的存储运算,因此先求12和-15的补码 12的补码(=反码=原码):
0000 1100(高位为0,表示正数)
-15的原码: 1000 1111 (高位为1,表示负数,转换为10进制时,高位的1不用进行换算) 
反码:
1111 0000 (原码取反)
补码:
1111 0001 (反码加1)

补码做相加运算
12的补码: 0000 1100
-15的补码: 1111 0001
-------------
结果(补码): 1111 1101
补码再转换为原码(即补码的补码,同样做取反加1换算)
补码: 1111 1101(高位为1,表示负数,进行补码反码原码换算时是不变的)
反码:   1000 0010(补码取反)
原码: 1000 0011(反码加1)
10进制: -3



 

posted @ 2019-03-13 22:21  strong_man  阅读(19618)  评论(3编辑  收藏  举报