简单理解原码、反码和补码

原码、反码和补码的概念

原码:

原码就是符号位加上符号为后面的绝对值, 即用第一位表示符号(0表示正,1表示负), 其余位表示值. 比如如果是8位二进制:

+7 = 0000 0111   

-7 = 1000 0111 

反码:

正数的反码就是其本身,也就是  +7 = 0000 0111(原) = 0000 0111(反)

负数的反码符号位不变,其余位取反 ;

-7 = 1000 0111(原) 

-7 = 1111  1000(反)

补码:

正数的补码就是其本身,也就是  +7 = 0000 0111(原) = 0000 0111(反) = 0000 0111(补)

负数的补码是在负数反码的基础上再加1;

-7 = 1000 0111(原)

-7 = 1111 1000 (反)

-7 = 1111 1001(补)

计算机在储存的时候都用原码,计算机在运算时用补码。

举个简单的栗子:

+7 = 0000 0111      -7 = 1000 0111

如果用原码计算 :

0000 0111(+7) +1000 0111(-7)= 10001110(-14)

计算结果是不对的;

用补码计算:

正数的反码和补码都是其本身;

负数的补码就是反码+ 1;

0000 0111(+7)+ 1111 1001 (-7) = 0000 0000 (0)

粗浅理解,如有错处,请指正,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值