早教吧作业答案频道 -->数学-->
计算机组成原理补码符号扩展现在有一int变量x的值为-513,要求x的补码12位表示?符号扩展为16位表示?右移一位后的16表示?我想-513的原码为101000000001(12位),那么其反码是110111111111(12位)
题目详情
计算机组成原理 补码 符号扩展
现在有一int变量x的值为-513,要求x的补码12位表示?符号扩展为16位表示?右移一位后的16表示?
我想-513的原码为1010 0000 0001(12位),那么其反码是1101 1111 1111(12位),扩展为16位就是高8位全是1,所以符号扩展后是1111 1101 1111 1111(16位),右移一位后是1111 1110 1111 1111(16位).
但我的结果和答案不太一样,大家看看我这样做对吗?
现在有一int变量x的值为-513,要求x的补码12位表示?符号扩展为16位表示?右移一位后的16表示?
我想-513的原码为1010 0000 0001(12位),那么其反码是1101 1111 1111(12位),扩展为16位就是高8位全是1,所以符号扩展后是1111 1101 1111 1111(16位),右移一位后是1111 1110 1111 1111(16位).
但我的结果和答案不太一样,大家看看我这样做对吗?
▼优质解答
答案和解析
你的思路是正确的,只是你的表述有误,在第二行中间“反码”应改为“补码”.
下面给你捋一遍整个过程.
首先将给出的数根据给定位数用原码表示(无论正数负数).即-513的原码为1010 0000 0001(12位).
其次,求出上述原码相对应的补码,符号位不变,其它位变反后加一.即-513的补码为1101 1111 1111(12位).
然后,对求出的补码进行符号扩展(取符号位填充到数的前方使其凑足位数,其它位保持不变直接写到低位).注意与原码的符号扩展不一样.即1111 1101 1111 1111(16位).
最后,对补码进行算术右移.负数补码的算术右移是添1.注意与逻辑右移、负数原码、正数算术右移区别.结果是1111 1110 1111 1111(16位).
你的结果是正确的,只是其中涉及一些概念必须弄清楚,否则容易混!
下面给你捋一遍整个过程.
首先将给出的数根据给定位数用原码表示(无论正数负数).即-513的原码为1010 0000 0001(12位).
其次,求出上述原码相对应的补码,符号位不变,其它位变反后加一.即-513的补码为1101 1111 1111(12位).
然后,对求出的补码进行符号扩展(取符号位填充到数的前方使其凑足位数,其它位保持不变直接写到低位).注意与原码的符号扩展不一样.即1111 1101 1111 1111(16位).
最后,对补码进行算术右移.负数补码的算术右移是添1.注意与逻辑右移、负数原码、正数算术右移区别.结果是1111 1110 1111 1111(16位).
你的结果是正确的,只是其中涉及一些概念必须弄清楚,否则容易混!
看了 计算机组成原理补码符号扩展现...的网友还看了以下:
为什么当m→0时,(m+1)^(1/m)→e,怎么证明?令n=1/m则(m+1)^(1/m)=(1 2020-05-21 …
设NA表示阿伏伽德罗常数的值,那么3.4g的NH3中含有的原子总数为什么是0.8NAn=N/NA3 2020-05-21 …
已知下列n(n为正整数)歌关于X的一元二次方程X^2-1=0----1X^2+X-2=0----2 2020-06-02 …
设点A(m,n)在x轴上,位于原点的左侧,则下列结论正确的是Am=0,n为一切数Bm=0,n就这么 2020-06-10 …
指数增加计算怎么算5000=n+n*0.97+n*0.97*0.97+n*0.97*0.97*0. 2020-06-12 …
级数Sum(n=0到无穷)X^n/(n+1)的一个问题求上题的和函数,这是一个课本例题,最后的S( 2020-06-14 …
为什么说0是个单项式但它没有次数证明书上写的不等于0的常数叫做0次单项式意思是不是说N=N*N^0 2020-07-10 …
如何用fortran将所有数据都减去同一个数同时按原格式输出呢?例如:对于11.1(n个1)22. 2020-07-22 …
求教求闰年为什么写成这样求不出if(n%4==0&&n%100!=0&&n%400==0)写成这样 2020-07-24 …
秩为NN-2阶行列式也为0么秩为N,代表存在一个N阶行列式不为0,而N+1阶或以上阶行列式都为0. 2020-08-03 …