正数和负数的补码是怎么计算的?

 我来答
做而论道
高能答主

2023-01-24 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部

所谓的“补码”,是一个“代替负数”的正数。

比如,钟表的时针,倒拨 3 小时,可以用正拨 9 小时代替。

算法是:+9 = -3 + 12。

其中的 12,是时针的周期。+9 就称为-3 的补数。

分针,倒拨 X 分,也可用正拨 (-X + 60) 代替。

三角函数,周期是 2π。

任何的负角度,也可以用正角度代替。

如:-π/2,其等效值是:-π/2 +  2π = +3π/2。

-----------------------

通用的换算公式,是:等效的正数 = 负数 + 周期。

-----------------------

等效值,在计算机专业,就重新命名:补码。

对于 8 位 2 进制数,计数周期就是:2^8 = 256。

-1 的补码:-1 + 256 = 255 = 1111 1111 (二进制)。

。。。

-128 的补码: 128 = 1000 0000。

零和正数,并不存在“等效的正数”。

所以,零和正数,根本就不存在补码。

-----------------------

用补码(正数)代替负数之后,计算机中,就没有负数了。

同时,也就没有减法运算了。

因此,就可以简化计算机的硬件。

只要配置一个加法器,就可以走遍天下。

-----------------------

补码的来源和意义,就是这样的。

补码,与原码反码,并无半点关系。

取反加一,也没有任何的理论基础,都是瞎编的。

赛蓝寇光临
2023-01-08 · TA获得超过3704个赞
知道大有可为答主
回答量:3135
采纳率:31%
帮助的人:186万
展开全部
用代符号的八位二进制表示数据,最高位为符号位,1代表负数,0代表正书。其余的七位二进制数来代表实际数值,即是原码。
所以[+50D]原=00110010B,[-50D]原=10110010B。
正数的补码与原码相同,负数的补码,变换规则为:
在原码的基础上,符号位不变,其余七位各位取反,然后在最后一位加1,该向前进位的就进。
所以[-50D]补=11001111。
D表示十进制数,B表示二进制数。
用原码只能表示-127到127,永补码表示为-128到127。
对于你的补充问题,我也不太清楚。大概是看着方便吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式