首页 > 编程知识 正文

原码反码补码的转换规则,原码反码补码转换例题

时间:2023-05-04 18:41:53 阅读:200357 作者:2633

首先,正数的原码,反码,补码都是相同的。

所以,这里讨论负数的原码,反码,补码的相互转化问题。

1、负数原码和反码的相互转化

负数原码转化为反码:符号位不变,数值位按位取反。
如:

原码 1100 0010反码 1011 1101

负数反码转化为原码:符号位不变,数值位按位取反。
如:

反码 1011 1101原码 1100 0010 2、负数反码和补码的相互转化

负数反码转化为补码:末尾加1。
如:

反码 1011 1101补码 1011 1110

负数补码转化为反码:末尾减1(注意,此处的反码是指原码的反码)。
如:

补码 1011 1110原码的反码   1011 1101//减法 借位 3、负数原码和补码的相互转化

根据1、2,负数原码转化为补码:符号位不变,数值位按位取反,末尾加1。
如:

原码 1100 0010反码 1011 1101 //符号位不变,数值位按位取反补码 1011 1110 //末尾加1

负数补码转化为原码有两种方式:1、符号位不变,数值位末尾减1,再按位取反。
如:

补码 1011 1110末尾减一 1011 1101原码 1100 0010 //数值位按位取反

2、符号位不变,数值位按位取反,末尾加1。
如:

补码 1011 1110 1100 0001 //符号位不变,数值位按位取反原码 1100 0010 //末尾加1 4、总结

正数的原码、反码和补码都相同。
  负数原码和反码的相互转换:符号位不变,数值位按位取反。
  
  负数原码和补码的相互转换:符号位不变,数值位按位取反,末位再加1。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。