(初学C)符号数的三种表示方法

原码、反码、补码。

1. 原码

将数字转换成二进制即为原码

2. 反码(原码符号位不变,其他位取反)

正数------反码与原码相同

负数------对正数逐位取反,符号位保持为1

3. 补码(反码+1)

正整数-----补码是其二进制表示,和原码一样

负数-------补码是除符号位以外的所有位取反后加 1

补充:4个字节 = 32个比特位

为什么要用补码?

计算机本身只能进行二进制加法进行计算,故科学家们想到了用补码形式把+-法统一为+。

例如1+(-1)

//+1
00000000000000000000000000000001 //原码
01111111111111111111111111111110 //反码
01111111111111111111111111111111 //补码
//-1
10000000000000000000000000000001 //原码
11111111111111111111111111111110 //反码
11111111111111111111111111111111 //补码

//两个补码相加溢出一位,不显示
1|00000000000000000000000000000000(实际显示)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值