设机器数字长为8位(包括一位符号位),对下列各机器数进行算术核左移核右移一位、两位,算术右移一位、两位,讨论

C++(142)
位操作符号详解
一、位运算:
|&&按位或操作符:result=exp1|exp2;当exp1和exp2中对应位中至少有一个为1时,result中对应位为1,否则为0。
&&按位与操作符::result=exp1&exp2;当exp1和exp2中对应位全为1时,result中对应位为1,否则为0。
^&&按位异或或操作符:result=exp1^exp2;当exp1和exp2中对应位不相同时,result中对应位为1,否则为0。
~&&按位取反(反转)操作符:将位容器中的所有位都反转,1变为0,0变为1。
|=,&=,^=&分别对应|&^三种操作符的复合操作符。
应用:(不用中间变量交换两个值)
void&&myswap( int &a, int &b)
&&&&&&&&&a = a ^
&&&&&&&&&b = a ^
&&&&&&&&&a = a ^
原因:a^b^b&之后,a的值不变。
&a = a +
但此种方法可能有溢出,没有第一种方法好。
二、定点数的移位运算
1、什么样的数据类型可以直接移位
char、short、int、long、unsigned char、unsigned short、unsigned int、unsigned long都可以进行移位操作,而double、float、bool、long double则不可以进行移位操作。
2、有符号数据类型的移位操作
对于char、short、int、long这些有符号的数据类型:
对负数进行左移:符号位始终为1,其他位左移&,后面添0对正数进行左移:所有位左移,即&&&,可能会变成负数对负数进行右移:左边添1&,右边丢弃。对正数进行右移:所有位右移,即&&&
3、无符号数据类型的移位操作
对于unsigned char、unsigned short、unsigned int、unsigned long这些无符号数据类型,没有特殊要说明的,使用&&&和&&&&操作符就OK了
移位详细原理:
定点数的移位运算也称为移位操作。左移或右移n位相当于乘以或除以2的n次方。当计算机没有乘(除)运算线路时,可以采用移位和加法相结合,实现乘(除)运算。机器数字长往往是固定的,当机器数左移或右移时,必然会使其低位或高位出现空位。对空出的空位应该添补0还是1与机器数采用有符号数还是无符号数有关。有符号数的移位称为算术移位,无符号数的移位称为逻辑移位。
(1)&&&&&&算术移位:
不同码制机器数算术移位后的空位添补规则
原码、补码、反码
  由上表可得出如下结论:
  (1)机器数为正时,不论左移或右移,添补代码均为0。
  (2)由于负数的原码其数值部分与真值相同,故在移位时只要使符号位不变,其空位均添0。
  (3)由于负数的反码其各位除符号位外与负数的原码正好相反,故移位后所添的代码应与原码相反,不论左移或右移,即全部添1。
  (4)分析任意负数的补码可发现,当对其由低位向高位找到第一个“1”时,在此“1”左边的各位均与对应的反码相同,而在此“1”右边的各位(包括此“1”在内)均与对应的原码相同,即添0;右移时空位出现在高位,则添补的代码应与反码相同,即添1。
(2)逻辑移位:逻辑移位的规则是逻辑左移时,高位移出,低位添0;逻辑右移时,低位移出,高位添0。
以下是一种简明的说法:
对于无符号数的移位(逻辑移位)很简单,直接变成2进制,经过移位后,&一端的位被&挤掉&,而另一端空出的位以0&填补。
而对于有符号数移位(算术移位)则相对复杂一点,如果符号位为0(即正数),其移位效果与无符号数&移位一致。
容易出错的是负数移位。负数移位需先将负数变成计算机的补码形式,即保留符号位而其它位取反加1。如&int16型的-15,正常翻译为00 1111,保留符号位其它位取反加1,变成11 0001(0xFFF1)。变成这种形式后就可以对其进行移位了,左移,保留符号位,左边被挤掉的不管,右边填0;而右移的时候略有不同,保留符号位,右边被挤掉的部分丢弃,而高位填符号位1。如-15,右移3位,则变成FFFE(-2)。显然有符号数移位并不等效于乘法或除法。
如果将有符号数强制类型转换为无符号,则将其2进制补码形式翻译为无符号数即可。如
short aa = -15;
bb = (unsigned short)
则bb变成0xFFF1(65521),实际上就是-15的计算机表示。
例:设机器数字长为8位(含一位符号位),若A=±26,写出三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。
  解:(1)A=+26=(+11010)2
  则[A]原=[A]补&=[A]反=0,0011010
  移位结果表示如下:
机&&器&&&数
对应的真值
[A]原=[A]补=[A]反
  可见,对于正数,三种机器数移位后符号位不变,左移时最高数位丢1,结果出错;右移时最低数位丢1,影响精度。
  (2)A=-26=(-11010)2
  三种机器数移位结果示于下表。
机&&器&&&数
对应的真值
  可见,对于负数,三种机器数移位后符号位均不变。负数的原码左移时,高位丢1,结果出错;低位丢1,影响精度。负数的补码左移时,高位丢0,结果出错;低位丢1,影响精度。负数的反码左移时,高位丢0,结果出错;低位丢0,影响精度。
应用:(不用比较运算符来比较大小)
int&mymin(int&a,&int&b&)
&&&&&int&mask&= (a&-&b)&&31;
&&&&&return&(a&&&mask) | (b&& ~mask);
int&mymax(int&a,&int&b&)
&&&&&int&mask&= (a&-&b)&&31;
&&&&&return&(a&& ~mask) | (b&&&mask);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:643120次
积分:9578
积分:9578
排名:第1588名
原创:18篇
转载:1967篇
评论:22条
(10)(9)(16)(7)(19)(18)(37)(18)(16)(10)(11)(5)(20)(4)(31)(26)(66)(84)(48)(29)(28)(31)(27)(18)(57)(28)(26)(8)(130)(71)(71)(13)(57)(117)(87)(72)(30)(26)(7)(52)(15)(40)(12)(92)(62)(88)(37)(52)(49)(31)(41)(36)(11)问的局部性原理;25.Cache做在CPU芯片内有什么好处?将指;1)可提高外部总线的利用率;2)Cache不占用外部总线就意味着外部总线可更;3)可提高存取速度;1)可支持超前控制和流水线控制,有利于这类控制方;2)指令Cache可用ROM实现,以提高指令存取;3)数据Cache对不同数据类型的支持更为灵活,;补充:;Cache结构改进的第三个措施是分级实
问的局部性原理。
25. Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处? 答:Cache做在CPU芯片内主要有下面几个好处:
1)可提高外部总线的利用率。因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线。
2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率。
3)可提高存取速度。因为Cache与CPU之间的数据通路大大缩短,故存取速度得以提高。 将指令Cache和数据Cache分开有如下好处:
1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。
2)指令Cache可用ROM实现,以提高指令存取的可靠性。
3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。
Cache结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache(L1)和主存之间再设一个片外Cache(L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度。
30. 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。
解:cache组数:64/4=16 ,Cache容量为:64*128=2字,cache地址13位
主存共分区,每区16块
主存容量为:字,主存地址19位,地址格式如下:
12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应的机器数。要求如下:
(1)阶码和尾数均为原码。
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
解:据题意画出该浮点数的格式:
将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2 * 0.110 011B
x2= -27/1024= -0.B = 2-5*(-0.11011B)
则以上各数的浮点规格化数为:
(1)[x1]浮=1, 011 000 0
[x2]浮=1, 110 000 0
(2)[x1]浮=1, 011 000 0
[x2]浮=1, 010 000 0
(3)[x1]浮=0, 011 000 0
[x2]浮=0, 010 000 0
16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。
(1)无符号数;
(2)原码表示的定点小数。
(3)补码表示的定点小数。
(4)补码表示的定点整数。
(5)原码表示的定点整数。
(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。
(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。
解:(1)无符号整数:0 ―― 2 - 1,即:0―― 65535;
无符号小数:0 ―― 1 - 2 ,即:0 ―― 0.99998;
(2)原码定点小数:-1 + 2-15――1 - 2-15 ,即:-0.99997 ―― 0.99997
(3)补码定点小数:- 1――1 - 2-15
,即:-1――0.99997
(4)补码定点整数:-215――215 - 1 ,即:-32768――32767
(5)原码定点整数:-2 + 1――2 - 1,即:-32767――32767
(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时: 最大负数= 1,11 111;1.000 000 001 ,即 -2-9?2-31
最小负数= 0,11 111;1.111 111 111,即 -(1-2)?2
则负数表示范围为:-(1-2-9)?231 ―― -2-9?2-31
最大正数= 0,11 111;0.111 111 111,即 (1-2)?2
最小正数= 1,11 111;0.000 000 001,即 2-9?2-31
则正数表示范围为:2-9?2-31 ――(1-2-9)?231
(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则
最大负数=1,00 000;1.011 111 111,即 -2-1?2-32
最小负数=0,11 111;1.000 000 000,即 -1?231
则负数表示范围为:-1?231 ―― -2-1?2-32
-931最大正数=0,11 111;0.111 111 111,即 (1-2)?2
最小正数=1,00 000;0.100 000 000,即
则正数表示范围为:2?2――(1-2)?2
17. 设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。
[x1]原=0.001 1010;[y1]补=0.101 0100;[z1]反=1.010 1111;
[x2]原=1.110 1000;[y2]补=1.110 1000;[z2]反=1.110 1000;
[x3]原=1.001 1001;[y3]补=1.001 1001;[z3]反=1.001 1001。
解:算术左移一位:
[x1]原=0.011 0100;正确
[x2]原=1.101 0000;溢出(丢1)出错
[x3]原=1.011 0010;正确
[y1]补=0.010 1000;溢出(丢1)出错
[y2]补=1.101 0000;正确
[y3]补=1.011 0010;溢出(丢0)出错
[z1]反=1.101 1111;溢出(丢0)出错
-1-32 -931-931-6
[z2]反=1.101 0001;正确
[z3]反=1.011 0011;溢出(丢0)出错
算术左移两位:
[x1]原=0.110 1000;正确
[x2]原=1.010 0000;溢出(丢11)出错
[x3]原=1.110 0100;正确
[y1]补=0.101 0000;溢出(丢10)出错
[y2]补=1.010 0000;正确
[y3]补=1.110 0100;溢出(丢00)出错
[z1]反=1.011 1111;溢出(丢01)出错
[z2]反=1.010 0011;正确
[z3]反=1.110 0111;溢出(丢00)出错
算术右移一位:
[x1]原=0.000 1101;正确
[x2]原=1.011 0100;正确
[x3]原=1.000 1100(1);丢1,产生误差
[y1]补=0.010 1010;正确
[y2]补=1.111 0100;正确
[y3]补=1.100 1100(1);丢1,产生误差
[z1]反=1.101 0111;正确
[z2]反=1.111 0100(0);丢0,产生误差
[z3]反=1.100 1100;正确
算术右移两位:
[x1]原=0.000 0110(10);产生误差
[x2]原=1.001 1010;正确
[x3]原=1.000 0110(01);产生误差
[y1]补=0.001 0101;正确
[y2]补=1.111 1010;正确
[y3]补=1.110 0110(01);产生误差
[z1]反=1.110 1011;正确
[z2]反=1.111 1010(00);产生误差
[z3]反=1.110 0110(01);产生误差
19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。
(1)A=9/64, B=-13/32,求A+B。
(2)A=19/32,B=-17/128,求A-B。
(3)A=-3/16,B=9/32,求A+B。
(4)A=-87,B=53,求A-B。
(5)A=115,B=-24,求A+B。
解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B
[A]补=0.001 0010, [B]补=1.100 1100
[A+B]补= 0.0010010 + 1.1001100 = 1.1011110 ――无溢出
A+B= -0.010 0010B = -17/64
(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B
[A]补=0.100 1100, [B]补=1.110 1111 , [-B]补=0.001 0001
[A-B]补= 0.1001100 + 0..1011101 ――无溢出
A-B= 0.101 1101B = 93/128B
(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B
[A]补=1.110 1000, [B]补= 0.010 0100
[A+B]补= 1.1101000 + 0.0100100 = 0.0001100 ―― 无溢出
A+B= 0.000 1100B = 3/32
(4) A= -87= -101 0111B, B=53=110 101B
[A]补=1 010 1001, [B]补=0 011 0101, [-B]补=1 100 1011
[A-B]补= 1 0101001 + 1 1001011 = 0 1110100 ―― 溢出
(5)A=115= 111 0011B, B= -24= -11 000B
[A]补=0 1110011, [B]补=1,110 1000
[A+B]补= 0 1110011 + 1 1101000 = 0 1011011――无溢出
A+B= 101 1011B = 91
26.按机器补码浮点运算步骤,计算[x±y]补.
(1)x=2-011× 0.101 100,y=2-010×(-0.011 100);
(2)x=2-011×(-0.100 010),y=2-010×(-0.011 111);
(3)x=2×(-0.100 101),y=2×(-0.001 111)。
解:先将x、y转换成机器数形式:
(1)x=2-011× 0.101 100,y=2-010×(-0.011 100)
[x]补=1,101;0.101 100, [y]补=1,110;1.100 100
[Ex]补=1,101, [y]补=1,110, [Mx]补=0.101 100, [My]补=1.100 100
[?E]补=[Ex]补+[-Ey]补 = 11,101+ 00,010=11,111 & 0,
应Ex向Ey对齐,则:[Ex]补+1=11,101+00,001=11,110 = [Ey]补
[x]补=1,110;0.010 110
2)尾数运算:
[Mx]补+[My]补= 0.010 110 + 11.100 100=11.111010
[Mx]补+[-My]补=0.010 110 + 00..110 010
3)结果规格化:
[x+y]补=11,110;11.111 010 = 11,011;11.010 000 (尾数左规3次,阶码减3)
[x-y]补=11,110;00.110 010, 已是规格化数。
4)舍入:无
5)溢出:无
则:x+y=2-101×(-0.110 000)
x-y =2-010×0.110 010
(2)x=2-011×(-0.100010),y=2-010×(-0.011111)
[x]补=1,101;1.011 110, [y]补=1,110;1.100 001
1) 对阶:过程同(1)的1),则
[x]补=1,110;1.101 111
2)尾数运算:
[Mx]补+[My]补= 11.101111 + 11. 100001 = 11.010000
[Mx]补+[-My]补= 11.101111 + 00.011111 = 00.001110
3)结果规格化: 101100
[x+y]补=11,110;11.010 000,已是规格化数
[x-y]补=11,110;00.001 110 =11,100;00.111000 (尾数左规2次,阶码减2)
4)舍入:无
5)溢出:无
则:x+y=2×(-0.110 000)
x-y =2-100×0.111 000
(3)x=2×(-0.100 101),y=2×(-0.001 111)
[x]补=0,101;1.011 011, [y]补=0,100;1.110 001
[?E]补=00,101+11,100=00,001 &0,应Ey向Ex对齐,则:
[Ey]补+1=00,100+00,001=00,101=[Ex]补
[y]补=0,101;1.111 000(1)
2)尾数运算:
[Mx]补+[My]补= 11..)= 11.)
[Mx]补+[-My]补= 11..)= 11.)
2) 结果规格化:
[x+y]补=00,101;11.010 011(1),已是规格化数
[x-y]补=00,101;11.100 010(1)=00,100;11.000 101 (尾数左规1次,阶码减1)
[x+y]补=00,101;11.010 011(舍)
[x-y]补 不变
5)溢出:无
则:x+y=2101×(-0.101 101)
x-y =2100×(-0.111 011)
32. 设机器字长为16位,分别按4、4、4、4和5、5、3、3分组后,
(1)画出按两种分组方案的单重分组并行进位链框图,并比较哪种方案运算速度快。
(2)画出按两种分组方案的双重分组并行进位链框图,并对这两种方案进行比较。
(3)用7画出单重和双重分组的并行进位链框图。
解:(1)4―4―4―4分组的16位单重分组并行进位链框图见教材286页图6.22。
5―5―3―3分组的16位单重分组并行进位链框图如下:
(2)4―4―4―4分组的16位双重分组并行进位链框图见教材289页图6.26。
5―5―3―3分组的16位双重分组并行进位链框图如下:
5―5―3―3分组的进位时间=2.5ty?3=7.5ty;
4―4―4―4分组的进位时间=2.5ty?3=7.5ty;
可见,两种分组方案最长加法时间相同。
结论:双重分组并行进位的最长进位时间只与组数和级数有关,与组内位数无关。
(3)单重分组16位并行加法器逻辑图如下(正逻辑):
注意: 1)74181芯片正、负逻辑的引脚表示方法;
2)为强调可比性,5-5-3-3分组时不考虑扇入影响;
三亿文库包含各类专业文献、幼儿教育、小学教育、生活休闲娱乐、行业资料、文学作品欣赏、各类资格考试、应用写作文书、高等教育、计算机组成原理作业1-10章答案(唐朔飞)(第二版)(不全)72等内容。 
 计算机组成原理作业1-10章答案(唐朔飞)_工学_高等教育_教育专区。机组习题答案 5. 冯?诺依曼计算机的特点是什么? 解:冯?诺依曼计算机的特点是:P8 ? 计算机由...  计算机组成原理作业1-10章答案(唐朔飞)1_工学_高等教育_教育专区。第 1 章 计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?...  第一章 计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解:P3 计算机系统:由计算机硬件系统和软件系统组成的综合体。 计算机...  计算机组成原理作业1-10章答案(唐朔飞) 长春工大期末考试重点长春工大期末考试重点隐藏&& 第1 章 计算机系统概论 1、指令和数据都存放在存储器中计算机如何区分 答...  计算机组成原理作业1-10章... 58页 免费如要投诉违规内容,请到百度文库投诉中心...第二版计算机组成原理课后答案唐朔飞第二版计算机组成原理课后答案唐朔飞隐藏&& 唐...  计算机组成原理第二版唐朔飞课后习题答案_理学_高等教育_教育专区。计算机组成原理第二版唐朔飞课后习题答案第1 章 计算机系统概论 1. 什举是计算机系统、计算机硬件和...  第1 章 计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解:P3 计算机系统:由计算机硬件系统和软件系统组成的综合体。 计算机...  计算机组成原理课后答案(唐朔飞第二版)_计算机硬件及网络_IT/计算机_专业资料。计算机组成原理课后答案(唐朔飞第二版)第一章 计算机系统概论 1. 什么是计算机系统、...  计算机组成原理课后答案唐朔飞第二版_理学_高等教育_教育专区。《计算机组成原理》(第二版)唐朔飞 编著第 一章 1. 什么是计算机系统、计算机硬件和计算机软件?硬件...扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
设机器数字长8位(含2位符号位),若机器数DAH为补码,则算术左移一位得____,算术右移一位得?A, B4H,EDHB, F4H,6DHC, B5H,EDHD, B4H,6DH请写出具体解答过程,谢谢!
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
答案选D,猜的
详解给个满意哈,,选A左移H右移EDH 左移低位补0 右移高位补1
为您推荐:
扫描下载二维码注意:程序中断方式虽然CPU运行效率比程序查询高;(6)程序查询接口硬件结构最简单,因此最经济;;程序中断接口硬件结构稍微复杂一些,因此较经济;;DMA控制器硬件结构最复杂,因此成本最高;;(7)程序中断方式适用于中、低速设备的I/O交换;程序查询方式适用于中、低速实时处理过程;;DMA方式适用于高速设备的I/O交换;;讨论:;问题1:这里的传送速度指I/O
注意:程序中断方式虽然CPU运行效率比程序查询高,但传输速度却比程序查询慢。
(6)程序查询接口硬件结构最简单,因此最经济;
程序中断接口硬件结构稍微复杂一些,因此较经济;
DMA控制器硬件结构最复杂,因此成本最高;
(7)程序中断方式适用于中、低速设备的I/O交换;
程序查询方式适用于中、低速实时处理过程;
DMA方式适用于高速设备的I/O交换;
问题1:这里的传送速度指I/O设备与主存间,还是I/O与CPU之间?
答:视具体传送方式而定,程序查询、程序中断为I/O与CPU之间交换,DMA为I/O与主存间交换。
问题2:主动性应以CPU的操作方式看,而不是以I/O的操作方式看。
程序查询方式:以缓冲器容量(块、二进制数字)为单位传送;?
程序中断方式:以向量地址中的数据(二进制编码)为单位传送;
DMA:传送单位根据数据线的根数而定;?
30. 什么是多重中断?实现多重中断的必要条件是什么?
解:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。
实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。
2. 已知X=0.a1a2a3a4a5a6(ai为0或1),讨论下列几种情况时ai各取何值。
解: (1)若要X & 1/2,只要a1=1,a2~a6不全为0即可(a2 or a3 or a4
1/8,只要a1~a3不全为0即可(a1 or a2 or a3 =1),?or a5 or a6 = 1);
(2)若要X
a4~a6可任取0或1;
X?(3)若要1/4
& 1/16,只要a1=0,a2可任取0或1;
当a2=0时,若a3=0,则必须a4=1,且a5、a6不全为0(a5 or a6=1;若a3=1,则a4~a6可任取0或1;
当a2=1时, a3~a6可任取0或1。
3. 设x为整数,[x]补=1,x1x2x3x4x5,若要求 x & -16,试问 x1~x5 应取何值?
解:若要x & -16,需 x1=0,x2~x5 任意。(注:负数绝对值大的补码码值反而小。)
设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。
-13/64,29/128,100,-87
解:真值与不同机器码对应关系如下:
-0.00 1101
1.001 1010
1.110 0101
1.110 0110
0.001 1101
0.001 1101
0.001 1101
0.001 1101
0,110 0100
0,110 0100
0,110 0100
1,101 0111
1,010 1000
1,010 1001
5. 已知[x]补,求[x]原和x。 [x1]补=1.
1100; [x2]补=1.
1001; [x3]补=0.
0000; [x5]补=1,0101; [x6]补=1,1100; [x7]补=0,0111; [x8]补=1,0000;
解:[x]补与[x]原、x的对应关系如下:
6. 设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,
[x]补=[x]原成立。
当x为小数时,若x
[x]补=[x]原成立;
若x & 0,则当x= -1/2时,
[x]补=[x]原成立。
[x]补=[x]原成立;
若x?当x为整数时,若x
& 0,则当x= -64时,
[x]补=[x]原成立。
7. 设x为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。
解:当x为真值,x*为绝对值时,[-x*]补=[-x]补不能成立。 [-x*]补=[-x]补的结论只在x&0时成立。当x&0时,由于[-x*]补是一个负值,而[-x]补是一个正值,因此此时[-x*]补不等于
8. 讨论若[x]补&[y]补,是否有x&y?
解:若[x]补&[y]补,不一定有x&y。 [x]补 & [y]补时 x & y的结论只在 x & 0、y & 0,及 x&0、y&0时成立。当x&0、 y&0时,有x&y,但由于负数补码的符号位为1,则[x]补&[y]补。同样,当x&0、 y &0时,有x & y,但[x]补&[y]补。
注意: 1)绝对值小的负数其值反而大,且负数的绝对值越小,其补码值越大。因此, 当x&0、y&0时,若[x]补&[y]补,必有x&y。 2)补码的符号位和数值位为一体,不可分开分析。 3)完整的答案应分四种情况分析,但也可通过充分分析一种不成立的情况获得正确答案。 4)由于补码0的符号位为0,因此x、y=0可归纳到&0的一类情况讨论。 5)不考虑不同数字系统间的比较。(如有人分析x、y字长不等时的情况,无意义。)
12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应的机器数。要求如下:
(1)阶码和尾数均为原码。
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
解:据题意画出该浮点数的格式:
将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2 * 0.110 011B
x2= -27/1024= -0.B = 2*(-0.11011B)
则以上各数的浮点规格化数为:
(1)[x1]浮=1, 011 000 0
[x2]浮=1, 110 000 0
(2)[x1]浮=1, 011 000 0
[x2]浮=1, 010 000 0
(3)[x1]浮=0, 011 000 0
[x2]浮=0, 010 000 0
13. 浮点数格式同上题,当阶码基值分别取2和16时,
(1)说明2和16在浮点数中如何表示。
(2)基值不同对浮点数什么有影响?
(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。
解:(1)阶码基值不论取何值,在浮点数中均为隐含表示,即:2和16不出现在浮点格式中,仅为人为的约定。
(2)当基值不同时,对数的表示范围和精度都有影响。即:在浮点格式不变的情况下,基越大,可表示的浮点数范围越大,但精度越下降。
(3)r=2时,最大正数的浮点格式为:
0, 111 111 1
其真值为:N+max=215×(1-2-10)
非零最小规格化正数浮点格式为:
1, 000 000 0
其真值为:N+min=2-16×2-1=2-17
r=16时,最大正数的浮点格式为:
0,1 1111 11
其真值为:N+max=1615×(1-2-10)
非零最小规格化正数浮点格式为:
1,1 0000 00
其真值为:N+min=16-16×16-1=16-17
14. 设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?
解:若要保证数的最大精度,应取阶的基=2。
若要表示±6万间的十进制数,由于3)& 6万 &6),则:阶码除阶符外还应取5位(向上取2的幂)。
故:尾数位数=32-1-1-5=25
15. 什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式?
解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”,而真零对应数轴上的一点(0点)。若要求用“全0”表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为“0”,补码的零的形式也为“0”,拼起来正好为一串0的形式)。
16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。
(1)无符号数;
(2)原码表示的定点小数。
(3)补码表示的定点小数。
(4)补码表示的定点整数。
(5)原码表示的定点整数。
(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。
(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。
解:(1)无符号整数:0 ―― 2 - 1,即:0―― 65535;
无符号小数:0 ―― 1 - 2 ,即:0 ―― 0.99998;
(2)原码定点小数:-1 + 2――1 - 2 ,即:-0.99997 ―― 0.9-1616位
该浮点数格式如下:
??按此格式,该浮点数上溢的条件为:阶
(3)补码定点小数:- 1――1 - 2
,即:-1――0.99997
(4)补码定点整数:-2――2 - 1 ,即:-32768――32767
(5)原码定点整数:-2 + 1――2 - 1,即:-32767――32767
(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:
最大负数= 1,11 111;1.000 000 001 ,即 -2?2
最小负数= 0,11 111;1.111 111 111,即 -(1-2)?2
则负数表示范围为:-(1-2)?2―― -2?2
最大正数= 0,11 111;0.111 111 111,即 (1-2)?2
最小正数= 1,11 111;0.000 000 001,即 2?2
则正数表示范围为:2?2-9-31 -9-31-931-931 -9-31-931-9--15――(1-2)?2
-1-32-931(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则 最大负数=1,00 000;1.011 111 111,即 -2?2
最小负数=0,11 111;1.000 000 000,即 -1?2
则负数表示范围为:-1?2―― -2?2
最大正数=0,11 111;0.111 111 111,即 (1-2)?2
最小正数=1,00 000;0.100 000 000,即
则正数表示范围为:2?2
-1-32 -1-32-91――(1-2)?2 -931
17. 设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。
[x1]原=0.001 1010;[y1]补=0.101 0100;[z1]反=1.010 1111;
[x2]原=1.110 1000;[y2]补=1.110 1000;[z2]反=1.110 1000;
[x3]原=1.001 1001;[y3]补=1.001 1001;[z3]反=1.001 1001。
解:算术左移一位:
[x1]原=0.011 0100;正确
[x2]原=1.101 0000;溢出(丢1)出错
[x3]原=1.011 0010;正确
[y1]补=0.010 1000;溢出(丢1)出错
[y2]补=1.101 0000;正确
[y3]补=1.011 0010;溢出(丢0)出错
[z1]反=1.101 1111;溢出(丢0)出错
[z2]反=1.101 0001;正确
[z3]反=1.011 0011;溢出(丢0)出错
算术左移两位:
[x1]原=0.110 1000;正确
[x2]原=1.010 0000;溢出(丢11)出错
[x3]原=1.110 0100;正确
[y1]补=0.101 0000;溢出(丢10)出错
[y2]补=1.010 0000;正确
[y3]补=1.110 0100;溢出(丢00)出错
[z1]反=1.011 1111;溢出(丢01)出错
[z2]反=1.010 0011;正确
[z3]反=1.110 0111;溢出(丢00)出错
算术右移一位:
[x1]原=0.000 1101;正确
[x2]原=1.011 0100;正确
[x3]原=1.000 1100(1);丢1,产生误差
[y1]补=0.010 1010;正确
[y2]补=1.111 0100;正确
[y3]补=1.100 1100(1);丢1,产生误差
[z1]反=1.101 0111;正确
[z2]反=1.111 0100(0);丢0,产生误差
[z3]反=1.100 1100;正确
算术右移两位:
[x1]原=0.000 0110(10);产生误差
[x2]原=1.001 1010;正确
[x3]原=1.000 0110(01);产生误差
[y1]补=0.001 0101;正确
[y2]补=1.111 1010;正确
[y3]补=1.110 0110(01);产生误差
[z1]反=1.110 1011;正确
[z2]反=1.111 1010(00);产生误差
[z3]反=1.110 0110(01);产生误差
18. 试比较逻辑移位和算术移位。
解:逻辑移位和算术移位的区别:
逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。
算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。
19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。
(1)A=9/64, B=-13/32,求A+B。
(2)A=19/32,B=-17/128,求A-B。
(3)A=-3/16,B=9/32,求A+B。
(4)A=-87,B=53,求A-B。
(5)A=115,B=-24,求A+B。
解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B
[A]补=0.001 0010, [B]补=1.100 1100
[A+B]补= 0.0010010 + 1.1001100 = 1.1011110 ――无溢出
A+B= -0.010 0010B = -17/64
(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B
[A]补=0.100 1100, [B]补=1.110 1111 , [-B]补=0.001 0001
[A-B]补= 0.1001100 + 0..1011101 ――无溢出
A-B= 0.101 1101B = 93/128B
(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B
[A]补=1.110 1000, [B]补= 0.010 0100
[A+B]补= 1.1101000 + 0.0100100 = 0.0001100 ―― 无溢出
A+B= 0.000 1100B = 3/32
三亿文库包含各类专业文献、高等教育、外语学习资料、幼儿教育、小学教育、生活休闲娱乐、行业资料、中学教育、计算机组成原理课后答案(唐朔飞第二版)61等内容。 
 计算机组成原理-第二版-唐朔飞著-课后习题详解_理学_高等教育_教育专区。第 1 章 计算机系统概论 2. 如何理解计算机的层次结构? 答:计算机硬件、系统软件和应用...  计算机组成原理-第二版-唐朔飞著-课后习题详解_工学_高等教育_教育专区。第 1 章 计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更...  《计算机组成原理》 计算机组成原理》(第二版) 第二版)唐朔飞 编著第 一章 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解:P3 计算机...  计算机组成原理-第二版-唐朔飞著-课后习题详解(1)_院校资料_高等教育_教育专区。哈哈哈,课后答案来一发,计科学生的福音啊。。第1 章 计算机系统概论 1. 什么...  计算机组成原理第二版课后习题答案全-唐朔飞.doc(文档)_理学_高等教育_教育专区。计算机组成原理第二版课后习题答案全-唐朔飞.doc(文档) ...  计算机组成原理-第二版-唐朔飞著-课后习题详解[1]_理学_高等教育_教育专区。第 1 章 计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件...  计算机组成原理-第二版-唐朔飞著-课后习题详解 隐藏&& 1 第 1 章 计算机系统概论 理解计算机组成和计算机体系结构? 答: 计算机体系结构是指那些能够被程序员所见...  第1 章 计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解:P3 计算机系统:由计算机硬件系统和软件系统组成的综合体。 计算机...  哈工大(威海)计算机组成原理答案(唐朔飞 第二版)_工学_高等教育_教育专区。老师勾选的题目汇总第一章 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪...}

我要回帖

更多关于 核左移核右移 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信