原码,反码,补码的编码规则?

 我来答
沙里波特
2022-01-25 · TA获得超过5251个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:638万
展开全部

计算机中,并没有原码和反码

正负数据,在计算机中,只是以补码存放的。

==============

下面以八位二进制来说明补码的编码规则。

八位二进制,共有 256 个补码。

数字 0,就是以 0000 0000 存放。

数字 1,就是加上 1,得 0000 0001。

其它,继续加,就行了。

数字 127,就是 0111 1111。

以上就是 0~127 的补码。

==============

负数,递减就行了。

数字-1,就从 0,减去一,即:

  0000 0000-1 = (借位 1)  1111 1111。

只保留八位,就是 1111 1111 (十进制 255)。

数字-2,就再减一,得:1111 1110 (= 254)。

数字-3,就再减一,得:1111 1101 (= 253)。

其它,继续减,即可... ...

数字-128,最后就得到:1000 0000 (= 128)。

以上这些,就是-1~-128 的补码。

==============

计算公式:

 负数的补码=【256+该负数】

 正数的补码,就是正数本身

(如果需要二进制,你自己再变换。)

八位补码可以表示:-128~+127。

==============

用补码代替负数,就可以把减法,转换为加法运算。

因此,计算机只要有一个加法器,就够用了。

例如: 7-3 = 4。

用补码的计算过程如下:

    7 的补码=0000 0111

    -3的补码=1111 1101

--相加-------------

   得:  (1)  0000 0100 = 4 的补码

舍弃进位,只保留八位作为结果,就是 4。

这就用加法,解决了负数以及减法的问题。

------

原码和反码,并没有这些功能。

所以,在计算机中,根本就没有原码和反码。

所谓的“取反加一”,由谁算呢?

计算机,可不做这些事。

洋星然偶瑶
2020-03-11 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:30%
帮助的人:874万
展开全部
关于原码反码补码,您可以借本
《计算机组成原理》看看计算机中数据的表示形式。
首先更正下楼上的说法,正数的原码反码补码都相同,即0011的反码也为0011
!!切记
举例来说:对于正数3,其二进制形式为
0011,我们把
0011成为成为真值,在计算机中用0或1表示正负号,那么
0011在计算机中原码可以表示为00011(第一位为符号位)。反码补码不变。
对于负数,反码即按位取反,比如10011可表示-3,10011为原码,那么符号位不变,其余位按位取反即反码11100.
补码的存在是为了简化计算的,其符号位一起参加运算,从而对于减法可转化为加法。补码的实质就是mod2。比如我们的钟表是mod12的,那么14点钟我们也可以说是下午2点。获得补码的方法是“按位取反,末位加1”那么10011的补码便是11101.。。。。。。。。。。
机器数即数值在计算机中的表示形式。
不知您明白了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孛海荣覃浩
2019-04-29 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:821万
展开全部
计算机是按二进制方式存储数据的
在计算机中表示整型数据有以下几种方法:
1.二进制补码
2.二进制反码
3.偏移表示法
4.带符号的数表示法
带符号的数表示法最高有效位是符号位,1为负,0为正。比如:00000001为1,10000001为-1
二进制反码是简单地把正数取反就是对应的负数了,比如00000001为1,11111110为-1
二进制补码在计算机中比较常用,当表示负数的时候,在原来原码的基础上再加1
偏移表示法用一个数与它相减就得到所需的数
Top
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
位承望以蔚
2019-06-27 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:922万
展开全部
正数:原码,补码,反码一致
负数:原码:-(绝对值原码)
反码:原码除符号位外取反
补码:反码+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式