原码,补码和真值之间的区别和联系

博客介绍了计算机存储带符号数时原码和补码的存储方式。因机器语言无法理解正负号,所以采用原码和补码。文中给出原码和补码的表示范围,还说明了正数原码和补码数值一致,负数原码转补码符号位不变,其他位取反加一。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

讲简单一点,通俗易懂一点,记住就行了,也不用刻意去理解的太深。
讲那么多不实际,还不如直接记住几个例子。

原码和补码就是计算机在存储带符号的数的时候用来存储的方式,
或许有人会问:为啥不直接用正负号啊,搞这么多东西干什么。

但这个时候,我们应该理解,计算机储存的过程,是机器语言发挥作用的过程。
机器语言是啥? 这是最低级的语言,这么低级的语言是无法理解正负号这种人类能看懂的东西的,
机器就是机器。

我们先来举个例子来看看原码。

原码:
为了不变的那么复杂,规定这是一个八位的带符号数。

先从最特殊的0入手。
0的补码有两个,
一个是

00000000(+0)

一个是

10000000(-0)

这样就能想到,原码的表示范围-127-127

而对于同一绝对值的两个数,:
表示就是后七位数字完全相等,第一位数字正的为1,负的为0.

正 0xxxxxxx
负1xxxxxxx

补码,
先来看一下补码的范围

-128-127

立马和原码对比,
就可以猜想到0的补码只有一个,

同时,
给出原码和补码的交换规律。
正数的原码
和补码,
数值上面是一致的。

而负数情况就不一样了,
负数原码转为补码,

::::
符号位不变(第一位不变)
其他位置取反,
最低位加一。
如10000000是-128的补码,
1111111是-1的补码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值