计算机组成原理第六章答案Word下载.docx
- 文档编号:4942417
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:24
- 大小:28.50KB
计算机组成原理第六章答案Word下载.docx
《计算机组成原理第六章答案Word下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理第六章答案Word下载.docx(24页珍藏版)》请在冰点文库上搜索。
[x8]补=1,0000;
[x]补与[x]原、x的对应关系如下:
[x]补
!
1,0101
1,1100
0,0111
1,0000
[x]原
无
1,1011
,
1,0100
x
-1
-1011
-100
-10000
6.设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,[x]补=[x]原成立。
当x为小数时,若x0,则
[x]补=[x]原成立;
若x<
0,当x=-1/2时,[x]补=[x]原=0000,则
[x]补=[x]原成立。
当x为整数时,若x0,则
若x<
0,当x=-64时,[x]补=[x]原=1,1000000,则
[x]补=[x]原成立。
7.设x为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。
当x为真值,x*为绝对值时,[-x*]补=[-x]补不能成立。
原因如下:
(1)当x<
0时,由于[-x*]补是一个负值,而[-x]补是一个正值,因此此时[-x*]补=[-x]补不成立;
(2)当x0时,由于-x*=-x,因此此时[-x*]补=[-x]补的结论成立。
8.讨论若[x]补>
[y]补,是否有x>
y
若[x]补>
[y]补,不一定有x>
y。
[x]补>
[y]补时x>
y的结论只在x>
0且y>
0,及x<
0且y<
0时成立。
由于正数补码的符号位为0,负数补码的符号位为1,当x>
0、y<
0时,有x>
y,但则[x]补<
[y]补;
同样,当x<
0、y>
0时,有x<
y,但[x]补>
[y]补。
9.当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)
真值和机器数的对应关系如下:
9BH
'
移码
无符号数
对应十进制数
-27
-101
+27
155
FFH
#
-128
-0
+128
256
10.在整数定点机中,设机器数采用1位符号位,写出±
0的原码、补码、反码和移码,得出什么结论
0的机器数形式如下:
(假定机器数共8位,含1位符号位在内)
+0
~
00000000
10000000
11111111
结论:
0的原码和反码分别有+0和-0两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。
11.已知机器数字长为4位(含1位符号位),写出整数定点机和小数定点机中原码、补码和反码的全部形式,并注明其对应的十进制真值。
整数定点机
小数定点机
0,000
0,001
1
0,010
|
2
0,011
3
、
0,100
4
0,101
5
0,110
【
6
0,111
>
7
1,000
1,111
—
1,001
1,110
1,010
1,101
-2
1,011
《
1,100
-3
-4
-5
[
-6
-7
-8
12.设浮点数格式为:
阶码5位(含1位阶符),尾数11位(含1位数符)。
写出51/128、-27/1024、、所对应的机器数。
要求如下:
(1)阶码和尾数均为原码。
{
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
据题意画出该浮点数的格式:
阶符1位
阶码4位
数符1位
尾数10位
将十进制数转换为二进制:
x1=51/128==2-1*011B
x2=-27/1024==2-5*)
x3===23*
:
x4===27*
则以上各数的浮点规格化数为:
(1)[x1]浮=1,0001;
0110000
[x2]浮=1,0101;
1100000
[x3]浮=0,0011;
[x4]浮=0,0111;
0110100
(2)[x1]浮=1,1111;
[x2]浮=1,1011;
0100000
1001100
(3)[x1]浮=0,1111;
[x2]浮=0,1011;
0100000
[x3]浮=1,0011;
[x4]浮=1,0111;
13.浮点数格式同上题,当阶码基值分别取2和16时:
(1)说明2和16在浮点数中如何表示。
(2)基值不同对浮点数什么有影响
(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。
(1)阶码基值不论取何值,在浮点数中均为隐含表示,即:
2和16不出现在浮点格式中,仅为人为的约定。
(2)当基值不同时,对数的表示范围和精度都有影响。
即:
在浮点格式不变的情况下,基越大,可表示的浮点数范围越大,但浮点数精度越低。
(3)r=2时,
最大正数的浮点格式为:
0,1111;
1111111
其真值为:
N+max=215×
(1-2-10)
非零最小规格化正数浮点格式为:
1,0000;
0000000
N+min=2-16×
2-1=2-17
r=16时,
111111
N+max=1615×
(1-2-10)
非零最小规格化正数浮点格式为:
000000
N+min=16-16×
16-1=16-17
&
14.设浮点数字长为32位,欲表示±
6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取1位外,阶码和尾数各取几位按这样分配,该浮点数溢出的条件是什么
若要保证数的最大精度,应取阶码的基值=2。
若要表示±
6万间的十进制数,由于32768(215)<
6万<
65536(216),则:
阶码除阶符外还应取5位(向上取2的幂)。
故:
尾数位数=32-1-1-5=25位
25(32)
该浮点数格式如下:
阶符(1位)
阶码(5位)
数符(1位)
尾数(25位)
按此格式,该浮点数上溢的条件为:
阶码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~216-1,即:
0~65535;
无符号小数:
0~1-2-16,即:
0~;
(2)原码定点小数:
-1+2-15~1-2-15,即:
(3)补码定点小数:
-1~1-2-15,即:
-1~
(4)补码定点整数:
-215~215-1,即:
-32768~32767
(5)原码定点整数:
-215+1~215-1,即:
-32767~32767
(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:
最大负数=1,11111;
000001,即-2-92-31
最小负数=0,11111;
111111,即-(1-2-9)231
则负数表示范围为:
-(1-2-9)231——-2-92-31
:
最大正数=0,11111;
111111,即(1-2-9)231
最小正数=1,11111;
000001,即2-92-31
则正数表示范围为:
2-92-31——(1-2-9)231
(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则
最大负数=1,00000;
111111,即-2-12-32
最小负数=0,11111;
000000,即-1231
-1231——-2-12-32
最大正数=0,11111;
111111,即(1-2-9)231
最小正数=1,00000;
000000,即2-12-32
2-12-32——(1-2-9)231
*
17.设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。
[x1]原=1010;
[y1]补=0100;
[z1]反=1111;
[x2]原=1000;
[y2]补=1000;
[z2]反=1000;
[x3]原=1001;
[y3]补=1001;
[z3]反=1001。
算术左移一位:
[x1]原=0100;
正确
[x2]原=0000;
溢出(丢1)出错
[x3]原=0010;
[y1]补=1000;
[y2]补=0000;
[y3]补=0010;
溢出(丢0)出错
[z2]反=0001;
[z3]反=0011;
溢出(丢0)出错
算术左移两位:
[x1]原=1000;
溢出(丢11)出错
[x3]原=0100;
正确
[y1]补=0000;
溢出(丢10)出错
[y3]补=0100;
溢出(丢00)出错
溢出(丢01)出错
[z2]反=0011;
[z3]反=0111;
溢出(丢00)出错
算术右移一位:
[x1]原=1101;
[x2]原=0100;
[x3]原=1100
(1);
丢1,产生误差
[y1]补=1010;
$
[y2]补=0100;
[y3]补=1100
(1);
丢1,产生误差
[z1]反=0111;
[z2]反=0100(0);
丢0,产生误差
[z3]反=1100;
算术右移两位:
[x1]原=0110(10);
产生误差
[x2]原=1010;
[x3]原=0110(01);
产生误差
[y1]补=0101;
[y2]补=1010;
[y3]补=0110(01);
[z1]反=1011;
[z2]反=1010(00);
[z3]反=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=0010B,B=-13/32=0100B
[A]补=0010,[B]补=1100
[A+B]补=+=——无溢出
A+B=0010B=-17/64
(2)A=19/32=1100B,B=-17/128=0001B
[A]补=1100,[B]补=1111,[-B]补=0001
[A-B]补=+=——无溢出
A-B=1101B=93/128B
(3)A=-3/16=1000B,B=9/32=0100B
[A]补=1000,[B]补=0100
[A+B]补=+=——无溢出
A+B=1100B=3/32
(4)A=-87=-1010111B,B=53=110101B
[A]补=10101001,[B]补=00110101,[-B]补=11001011
[A-B]补=10101001+11001011=01110100——溢出
(5)A=115=1110011B,B=-24=-11000B
[A]补=01110011,[B]补=1,1101000
[A+B]补=01110011+11101000=01011011——无溢出
A+B=1011011B=91
20.用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x·
(1)x=111,y=110;
(2)x=111,y=101;
(3)x=19,y=35;
(4)x=11,y=01。
先将数据转换成所需的机器数,然后计算,最后结果转换成真值。
(1)[x]原=,[y]原=,x*=,y*=
原码一位乘:
部分积
乘数y*
说明
000
+000
101110
部分积初值为0,乘数为0加0
/
000
+111
010111
右移一位
乘数为1,加上x*
111
011
@
101011
010
001
.
010101
+000
001010
乘数为0,加上0
000101
》
100010
即x*×
y*=111100010,z0=x0y0=01=1,
[x×
y]原=111100010,x·
y=-0.100111100010
原码两位乘:
[-x*]补=001,2x*=110
;
Cj
000.000000
+001.101110
00101110
部分积初值为0,Cj=0
根据yn-1ynCj=100,加2x*,保持Cj=0
001.101110
000.011011
+111.001001
10001011
右移2位
根据yn-1ynCj=110,加[-x*]补,置Cj=1
111.100100
111.111001
00100010
]
根据yn-1ynCj=101,加[-x*]补,置Cj=1
111.000010
111.110000
+000.110111
10001000
·
根据yn-1ynCj=001,加x*,保持Cj=0
000.100111
100010
补码一位乘:
[x]补=,[-x]补=,[y]补=
乘数
Yn+1
00.000000
+11.001001
1010010
0101001
Ynyn+1=00,部分积右移1位
Ynyn+1=10,部分积加[-x]补
11.001001
右移1位
11.100100
+00.110111
1010100
Ynyn+1=01,部分积加[x]补
00.011011
00.001101
00.000110
1101010
1110101
11.001111
-
11.100111
1111010
00.011110
00.001111
0111101
11.011000
011110
即[x×
y]补=000011110,x·
y=111100010
补码两位乘:
2[x]补=,2[-x]补=
(
结果同补码一位乘,x·
y=-0.10011110001000
21.用原码加减交替法和补码加减交替法计算x÷
(1)x=,y=;
(2)x=,y=;
(3)x=,y=;
(4)x=13/32,
y=-27/32。
(1)x*=[x]原=[x]补=x=111
y*=[y]原=[y]补=y=0=0
y0=0011
[-y*]补=[-y]补=101
q0=x0y]原=010
r*=010×
2-6=000000010
y*=[xy=x*x计算过程如下:
原码加减交替除法:
被除数(余数)
商
0.100
111
0.000
000
+
1.010
101
试减,+[-y*]补
1.111
10
0.
0.101
011
01
r<
1.000
110
0,+y*
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 第六 答案