计算机组成原理第六章答案Word文档格式.docx

上传人:b****5 文档编号:19360656 上传时间:2023-01-05 格式:DOCX 页数:19 大小:28.20KB
下载 相关 举报
计算机组成原理第六章答案Word文档格式.docx_第1页
第1页 / 共19页
计算机组成原理第六章答案Word文档格式.docx_第2页
第2页 / 共19页
计算机组成原理第六章答案Word文档格式.docx_第3页
第3页 / 共19页
计算机组成原理第六章答案Word文档格式.docx_第4页
第4页 / 共19页
计算机组成原理第六章答案Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

计算机组成原理第六章答案Word文档格式.docx

《计算机组成原理第六章答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理第六章答案Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

计算机组成原理第六章答案Word文档格式.docx

[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* 

r>

0,+[-y*]补 

0.011 

0111 

0.110 

0,+[-y*]补 

0.001 

0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1