13+(-11)用二进制补码计算? 20

八位补码,详细过程,谢谢... 八位补码,详细过程,谢谢 展开
 我来答
百度网友458e1bb
2021-01-11 · TA获得超过487个赞
知道小有建树答主
回答量:612
采纳率:62%
帮助的人:41.4万
展开全部

1、正数的补码表示:

正数的补码 = 原码

负数的补码 = {原码符号位不变} + {数值位按位取反后+1}    or

= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}

十进制整数+97和-97为例:

+97原码 = 0110_0001b

+97补码 = 0110_0001b

-97原码  = 1110_0001b

-97补码  = 1001_1111b

2、纯小数的原码:

纯小数的原码如何得到呢?方法有很多,在这里提供一种较为便于笔算的方法。

以0.64为例,通过查阅可知其原码为0.1010_0011_1101_0111b。

操作方法:

将0.64 * 2^n 得到X,其中n为预保留的小数点后位数(即认为n为小数之后的小数不重要),X为乘法结果的整数部分。

此处将n取16,得

X = 41943d = 1010_0011_1101_0111b

即0.64的二进制表示在左移了16位后为1010_0011_1101_0111b,因此可以认为0.64d = 0.1010_0011_1101_0111b 与查询结果一致。

再实验n取12,得

X = 2621d = 1010_0011_1101b 即 0.64d = 0.1010_0011_1101b,在忽略12位小数之后的位数情况下,计算结果相同。

3、纯小数的补码:

纯小数的补码遵循的规则是:在得到小数的源码后,小数点前1位表示符号,从最低(右)位起,找到第一个“1”照写,之后“见1写0,见0写1”。

以-0.64为例,其原码为1.1010_0011_1101_0111b

则补码为:1.0101_1100_0010_1001b

当然在硬件语言如verilog中二进制表示时不可能带有小数点(事实上不知道哪里可以带小数点)。

4、一般带小数的补码

一般来说这种情况下先转为整数运算比较方便

-97.64为例,经查询其原码为1110_0001.1010_0011_1101_0111b

笔算过程:

-97.64 * 2^16 = -6398935 = 1110_0001_1010_0011_1101_0111b,其中小数点在右数第16位,与查询结果一致。

则其补码为1001_1110_0101_1100_0010_1001b,在此采用 负数的补码 = {原码符号位不变} + {数值位按位取反后+1}  方法

5、补码得到原码:

方法:符号位不动,幅度值取反+1 or符号位不动,幅度值-1取反

-97.64补码 = 1001_1110(.)0101_1100_0010_1001b

取反      = 1110_0001(.)1010_0011_1101_0110b

+1         = 1110_0001(.)1010_0011_1101_0111b 与查询结果一致

6、补码的拓展:

在运算时必要时要对二进制补码进行数位拓展,此时应将符号位向前拓展。

-5补码 = 4'b1011 = 6'b11_1011

ps.原码的拓展是将符号位提到最前面,然后在拓展位上部0.

-5原码 = 4‘b’1101 = 6'b10_0101,对其求补码得6'b11_1011,与上文一致。

扩展资料:

计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。

计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

谢谢

追问
这些我知道,求解答一下这道题的计算过程,好吗(八位补码)
云南新华电脑学校
2021-01-11 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
展开全部
您好,对于你的遇到的问题,我很高兴能为你提供帮助,我之前也遇到过哟,以下是我的个人看法,希望能帮助到你,若有错误,还望见谅!。展开全部
正整数的补码是其二进制表示,与原码相同。负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。
二进制原码的加运算为0+0=0,0+1=1,1+0=1,1+1=10,(逢2进1);减运算为1-1=0,1-0=1,0-0=0,0-1=1,(向高位借1当2)。即13-10 = 01101+11010=100011;-13-10=110011+11010=1101001。
如果补码的符号位为“0”,表示是一个正数,其原码就是补码。如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
即13-10去掉符号位前的多余位数,00011=1*2^1+1*2^0=3;-13-10去掉符号位前的多余位数,110011+11010=1101001=1010110+1=1010111=-(1*2^4+1*2^3+1*2^0)=-23。
扩展资料:
补码表示统一了符号位和数值位,使得符号位可以和数值位一起直接参与运算,这也为后面设计乘法器除法器等运算器件提供了极大的方便。
补码概念的引入和当时运算器设计的背景不无关系,从设计者角度,既要考虑表示的数的类型(小数、整数、实数和复数)、数值范围和精确度,又要考虑数据存储和处理所需要的硬件代价。因此,使用补码来表示机器数并得到广泛的应用,也就不难理解了。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
追问
这道题的详细解答过程有吗,(八位补码)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2021-12-30 · TA获得超过5245个赞
知道大有可为答主
回答量:1.1万
采纳率:100%
帮助的人:622万
展开全部

计算如下:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
挺拔且奇巧的小福音e

2022-06-29 · 超过16用户采纳过TA的回答
知道答主
回答量:1232
采纳率:42%
帮助的人:37.7万
展开全部
11转成二进制原码:0 1011补码:0 1011-3转成二进制原码:1 0011补码:1 11010 10111 1101------------0 1000(注意符号位是要参加运算的如果最高位发生进位要进到符号位参与运算)转成原码还是0 1000转成十进制就是8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
所赖摘148

2022-06-29 · 超过11用户采纳过TA的回答
知道答主
回答量:449
采纳率:100%
帮助的人:11.4万
展开全部
11转成二进制原码:0 1011补码:0 1011-3转成二进制原码:1 0011补码:1 11010 10111 1101------------0 1000(注意符号位是要参加运算的如果最高位发生进位要进到符号位参与运算)转成原码还是0 1000转成十进制就是8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式