原码、反码和补码和二进制数在计算机中的存储形式。

快速理解原码、反码和补码和二进制数在计算机中的存储形式。

对于正数,原码=反码=补码

对于负数,
原码:符号位为1,其余位表示该数的绝对值。
反码:符号位不变,其余位取反。
补码:其反码加1(也可以说是其绝对值的原码取反加1。

那么为什么要引入补码呢?是为了存储有符号数更方便,补码的主要优点是:
它只有一个零的表示(+0和-0在补码中是相同的)。
使用补码,我们可以将减法转换为加法,这大大简化了计算机内部的运算。

有符号数:

在这里插入图片描述
有符号数的相反数为其所有位取反加1

无符号数:
在这里插入图片描述
如上两图,所有数形成一个轮回。当加或减正数时方向如图。

例如,对于8位有符号数char a=127;a+1就为-128。

对于8位,共有2^8=256种状态,一半(128)用来表示负数-1到-128,一半(128)用来表示0和正数1到127,同理16位、32位等。

所以在编程时为了不必要的麻烦,最好注意数据溢出。

😊~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值