补码怎么转换成原码?

有个规则是原码按位取反再加1得到补码,而按照这样来的话,那不是应该补码先减1再按位取反得到原码么?为什么是补码先加1再按位取反得到原码,这两种做法有什么不同?... 有个规则是原码按位取反再加1得到补码,而按照这样来的话,那不是应该补码先减1再按位取反得到原码么?为什么是补码先加1再按位取反得到原码,这两种做法有什么不同? 展开
 我来答
听不清啊
高粉答主

推荐于2017-10-13 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
补码的补码等于原码(就是把补码看作原码,再来一次奖原码转为补码的运算,就得到了原码)。
例如:
-4的8位
原码:1000 0100
反码:1111 1011
补码:1111 1100

将现在1111 1100看作原码,再求一次补码:
反码:1000 0011
补码:1000 0100----结果就是要求的原码。
风若远去何人留
2015-11-17 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450131
专业C/C++软件开发

向TA提问 私信TA
展开全部
对于正数和负数,补码规则不同,所以求原码方式也有所不同。无符号数与正数的方法相同。

1 对于最高位为0的有符号数,或无符号数,补码就是原码本身。如
0111 1100 既是补码,同时也就是原码。
2 对于最高位为1的有符号数,其表示的是负数。原码为按位取反,末位加一。如
补码:1100 0111
按位取反后结果为:0011 1000
加一后得到: 0011 1001
于是其原码就是-0011 1001
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咎浩岚元娅
2019-09-18 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:591万
展开全部
正数原码、反码、补码都一样。
负数补码转化为原码就是补码+1再除符号位每位取反就可以了。
负数原码转化为补码也是补码+1再除符号位每位取反就可以了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2013-10-04 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
不是应该补码先减1再按位取反得到原码么?
为什么是补码先加1再按位取反得到原码,
----

用负数的补码,求该数的原码,方法,仍然是求反加一。

两种做法,效果相同。
没有为什么,就是这么定的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爽朗的super舒
2014-06-29
知道答主
回答量:1
采纳率:0%
帮助的人:1359
展开全部
谁说是这样的,明明是-1再按位取反得到原码,比如原码1 00000011,反码就是1 11111100,补码就是 1 11111101,我们先把补码-1,得到 1 11111100,再取反,得到1 00000011,就得到原码了嘛,逆过程而已。正数的原码就是补码,楼下的验证过了吗?就乱灌水
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式