关于原码反码补码的理解(个人笔记)

原码、反码和补码是计算机中用来表示和存储有符号整数的编码方式。它们是为了解决负数的表示和运算问题而引入的。

原码

最基本的表示方式(即该数的二进制)。一个数有符号位数值位 两个部分。符号位表示正负,0表示正数,1表示负数。
例如:
14 转化为二进制为00001110,因为14为整数,所以第一位符号位为0表示整数。即原码为00001110

-21转化为二进制为00010101,因为-21为负数,所以第一符号位为1表示负数。即原码为10010101

反码

为了简化加法和减法运算,引入了反码的概念。

正数:原码、反码、补码相同,为原码本身
14(原码):00001110
14(反码):00001110
负数:符号位不变 ,其他取反
-21(原码):10010101
-21(反码):11101010

补码

为了解决反码存在两个零的问题,引入了补码的概念。

补码 = 反码 + 1
-21(原码):10010101
-21(反码):11101010
-21(补码):11101011

补充总结

  1. 8位二进制数能表示的十进制数范围为-128到+127
  2. 如果数小于-128或大于127,则会溢出,溢出只能用两个字节,16位二进制数表示了
  3. 0的补码为0000 0000 , -128的补码为1000 0000
  4. 计算机中有符号数用补码表示
  5. 原码首位为符号位
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值