计算机组成原理 第二章 习题

2-1设机器数的字长为8位(含1为符号位),分别写成下列各二进制数的原码、补码和反码。

0-00.1000-0.10000.1111-0.11111101-1101

____________________________________________

真值原码补码反码

-----------------------------------------------------------------

0000000000000000000000000

-0100000000000000011111111

0.10000.10000000.10000000.1000000

-0.10001.10000001.10000001.0111111

0.11110.11110000.11110000.1111000

-0.11111.11110001.00010001.0000111

1101000011010000110100001101

-1101100011011111001111110010

------------------------------------------------------------------

2-2写出下列各数的原码、补码和反码

7/16, 4/16, 1/16,±0, -1/16, -4/16,-7/16

解:7/16=7*2^4=0.0111

4/16=4*2^4=0.0100

1/16=1*2^4=0.0001

真值原码补码反码

7/160.01110.01110.0111

4/160.01000.01000.0100

1/160.00010.00010.0001

+00.00000.00000.0000

-01.00001.00001.1111

-1/161.00011.11111.1110

-4/161.01001.11001.1011

-7/161.01111.10011.1000

2-3已知下列的原码表示,分别写出它们的补码表示

[X]=0.10100,[X]=1.10111

[X]=0.10100->[X]=0.01100

[X]=1.10111->[X]=1.01001

2-4已知下列数的补码表示,分别写出它们的真值。

[X]=0.10100, [X]=1.10111

[X]=0.10100->X=0.10100

[X]=1.10111->X=0.01001

2-5设一个数二进制数X0,表示成X=0.A1A2A3A4A5A6,其中A1~A610.

1)若要X>1/2,A1~A6要满足什么条件?

解:X>1/2的代码为:0.100001~0.111111

A1~A6要满足:A1=1,A2+A3+A4+A5+A6=1;

2)若要X1/8A1~A6要满足什么条件?

解:X1/8的代码为:0.001000~0.111111

A1~A6要满足:A1+A2=0,A3=1;

3)若要1/4X>1/16A1~A6要满足什么条件?

解:1/4X>1/16代码为:0.000101~0.010000

A1~A6要满足:A2=1,A1+A3+A4+A5+A6=0

2-6[X]=1. A1A2A3A4A5A6,

1)若要X>-1/2,A1~A6要满足什么条件?

解:X>-1/2的代码为:

1.000001-1/64

………

1.011111-31/64

A1~A6要满足:A1=0,A2+A2+A3+A4+A5+A6=1

2)若要-1/8X-1/4.A1~A6要满足什么条件?

解:-1/8X-1/4代码为:

1.000001-1/64

1.001001-9/64

……..

1.001111-15/64

1.010000-1/4

A1~A6要满足:A1+A2=0,A3=1;

2-7若习题2-6中的[X]改为[X]结果如何?

解:X>-1/2的代码为:

1.100001-31/64

…….

1.111111-1/64

A1~A6要满足:A1=1,A2+A3+A4+A5+A6=1

-1/8X-1/4代码为:

1.110000-1/4

1.110001-15/64

…….

1.110111-9/64

1.111000-1/8

A1~A6要满足:A1·A2=1,A3=0

2-8一个n位字长的二进制定点整数,其中一位为符号位,分别写出在补码和反码两种情况下:

1)模数;(2)最大的正数;

3)最负的数;4)符号位的权;

5-1的表示形式;60的表达形式;

2-9某计算机字长为16位,简述下列几种情况下所能表示数值的范围。

1)无符号整数;2)用原码表示定点小数;

3)用补码表示定点小数;4)用原码表示定点整数;

(5)用补码表示的定点整数

2-10某计算机字长为32位,试分别写出无符号整数和带符号整数(补码)的表示范围(用十进制表示)

2-11某浮点数字长为12位,其中阶符为1位,阶码数值为3位,数符为1位,尾数数值为7位,阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大整数是多少?最小规格化正数是多少?绝对值最大负数是多少?

2-12某浮点数字长为16位,其中阶码分为6位(含1位阶符),移码表示,以2为底;尾数部分为10位(含1位数符,位于尾数最高位),补码表示,规格化。分别写出下列情况的二进制代码与十进制真值。

1)非零最小正数;2)最大正数

3)绝对值最小负数;4)绝对值最大负数

2-13一浮点数,器阶码部分分为p位,尾数部分分为q位,各包含1位符号位,均用补码表示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?写出表达式。

2-14若上题尾数基数r=16,按上述要求写出表达式。

2-15某浮点数字长为32位,格式如下。其中阶码部分为8位,以2为底,移码表示;尾数部分一共24位(含1位数符),补码表示。现有一浮点代码为(8C5A3E0016,试写出它能表示的十进制真值。

078931

阶码数符尾数

解:(8C5A3E0016 =1000 1100 0100 1010 0011 1110 0000 0000B

符号位=1

阶码=00011000

尾数=10110100011111000000000

0.10110100011111*2^12=(101101000111.11)2=(2887.75)10

2-16试将(-0.11012IEEE短浮点数格式表示出来。

解:0.1101=1.101*2^-1

符号位=1

阶码=127-1=126

10111111010100000000000000000000

结果=BF500000H

2-17将下列十进制数转换为IEEE短浮点数:

128.75;(2) 624;(3) -0.625;

(4)+0.0;(5)-1000.5

解:(128.75=11100.11=1.110011*2^4

符号位=0

阶码=127+4=131

01000001111001100000000000000000

结果=41E60000H

2624=1001110000=1.001110000*2^9

符号位=0

阶码=127+9=136

0100010000011100000000000000000

结果=441C0000H

3-0.625=-0.101=-1.01*2^-1

符号位=1

阶码=127-1=126

11000100000111000000000000000000

结果=BF200000H

4+0.0

结果=00000000H

5-1000.5=1111101000.1=1.1111010001*2^9

符号位=1

阶码=127+9=136

11000100011110100010000000000000

2-18将下列IEEE短浮点数转换为十进制数:

111000000 11110000 00000000 00000000

200111111 00010000 00000000 00000000

301000011 10011001 00000000 00000000

401000000 00000000 00000000 00000000

501000001 00100000 00000000 00000000

600000000 00000000 00000000 00000000

解:

1110000001111 00000000000000000000

符号位=1

阶码=129-127=2

1.111*2^2=111.1B=7.5

所以结果=-7.5

200111111000100000000000000000000

符号位=0

阶码=126-127=-1

1.001*2^-1=0.1001B=0.5625

所以结果=0.5625

301000011100110010000000000000000

符号位=0

阶码=135-127=8

1.0011001*2^8=100110010B=306

所以结果=306

40100000000000000 00000000 00000000

符号位=0

阶码=128-127=1

1.0*2=10B=2

所以结果=2

501000001001000000000000000000000

符号位=0

阶码=130-127=3

1.01*2^3=1010B=10

所以结果=10

600000000 00000000 00000000 00000000

阶码和尾数都等于0,所以结果也等于0

2-19对下列ASCII码进行译码。

1001001010000111000011110111

1000101101000010101110100100

解:译码结果分别为:I,!,awEPW$

2-20以下列形式表示(5382)10.

18421码;2)余3码;32421码;4)二进制数

解:

8421码:0110 0011 1000 0010

3码:1000 0110 1011 0101

2421码:1011 0011 1110 0010

二进制:1010100000110

2-21填写下列代码的奇偶校验位,现设为奇校验。

1 0 1 0 0 0 0 1

0 0 0 1 1 0 0 1

0 1 0 0 1 1 1 0

解:1 0 1 0 0 00 1的奇偶校验位是0

0 0 0 1 1 0 0 1的奇偶校验为位是0

0 1 0 0 1 1 1 0的奇偶校验位是1

王道《计算机组成原理》是一本非常经典的教材,在学习计算机硬件结构、系统设计等方面有很高的指导价值。本书的每一章节都包含了大量的理论知识以及习题,帮助读者通过实践加深理解。 针对第二章“数据表示”这部分的内容,通常包括以下几个方面: ### 数据表示的基本概念 - **数制转换**:掌握二进制、八进制、十进制、十六进制之间的相互转换。 - **补码表示法**:理解正数和负数在计算机中的补码表示,以及如何计算。 - **原码、反码与补码的区别**:了解这三种表示方法的特点及应用场景。 - **溢出判断**:学习如何检测和处理数值运算过程中可能出现的溢出情况。 ### 第二章习题解析概览 #### 练习题目的多样性 - **基本概念应用**:提供一些简单的题目让学生直接应用所学的概念解答,如将特定的十进制数转换为二进制或十六进制。 - **逻辑思考题**:涉及对补码的理解及其在加减法操作中的应用,比如要求学生写出给定数值的补码形式,并进行相应的加法操作。 - **实际案例分析**:给出具体的计算机指令或电路模块,要求学生分析其工作原理和数据流,如解释一个简单ALU的操作过程,或是分析存储器读写的流程图。 - **错误排查**:给出一段代码或电路描述,要求识别潜在的逻辑错误并说明原因,比如指出在一个加法器中可能导致结果错误的原因。 #### 解题技巧 1. **扎实基础**:确保对于基本的数据表示规则和逻辑运算有深入理解。 2. **逻辑推理**:在解决需要推理的问题时,明确步骤,逐步推导结论,避免跳过重要细节。 3. **实践经验**:尽量结合真实设备或模拟环境进行练习,如使用仿真软件模拟计算机系统的运行。 4. **对比差异**:对于相似概念或表达方式(如补码与原码),学会对比它们的区别和应用场景,增强辨别能力。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值