




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 二 章 习 题 答案 2(1)为什么计算机内部采用二进制表示信息既然计算机内部所有信息都用二进制表示,为什么还要用 到十六进制和八进制数参考答案:(略)2(7)为什么计算机处理汉字时会涉及到不同的编码(如,输入码、内码、字模码)说明这些编码中哪 些是用二进制编码,哪些不是用二进制编码,为什么参考答案:(略) 3实现下列各数的转换。(1) 10= ()2= () 8= () 16( 2) 2 = ()10= () 8= () 16= () 8421(3) (0101 1001 8421 = ()10= () 2= () 16( 4) 16 = ()10= () 2参考答案:(1) 10 =
2、(1 2 = 8 = 16(2)2 = 10 = 8 = 16 = (0100 0111 0101) 8421 ( 3) (0101 1001 8421 = 10 = ) 2 = ) 16(4)16 = 10 = (0100 24 假定机器数为 8位(1位符号, 7位数值),写出下列各二进制数的原码和补码表示。+,+, +,+0,0参考答案:(后面添 0)+:原码 补码+:溢出溢出:溢出+:+0:7 位数值),写出下列各二进制数的补码和移码表示。50:+1001,1001,+1,1,+10100,10100, +0,0参考答案:(前面添0)移码补码+1001:000010011001:0111
3、0111+1:000000011:0+10100:0001010010100:01101100+0:00000000假定机器数为 8位(1 位符号,0:000000006 已知 x 补,求 x(1)x补=(3)x补=参考答案:2)x补=4)x补=1) x补=2) x补=x = x = B = 1283) x补=x = +4) x补=x = 101101B = 457假定一台 32位字长的机器中带符号整数用补码表示,浮点数用IEEE 754 标准表示,寄存器 R1和 R2的内容分别为 R1:0000 017AH , R2: FFFF F895H。不同指令对寄存器进行不同的操作,因而,不同 指令执
4、行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1 和 R2 的内容,则 R1和 R2中操作数的真值分别为多少( 1) 无符号数加法指令( 2) 带符号整数乘法指令( 3) 单精度浮点数减法指令参考答案:R1 = 0000 017AH = 0000 0000 0000 0000 0000 0001 0111 1010R2 = FFFF F895H = 1111 1111 1111 1111 1111 1000 1001 01011)对于无符号数加法指令, R1和 R2 中是操作数的无符号数表示, 因此,其真值分别为 R1:17AH, R2:FFFF F895H。(对应十进
5、制分别为 378、4 294 965 397=232 1899)2)对于带符号整数乘法指令, R1和 R2中是操作数的带符号整数补码表示,由最高位可知, R1 为正数, R2为负数。 R1的真值为 +17AH=378, R2的真值为 111 0110 1011= 1899。3)R1:符号位为 0,表示其为正数, 阶码为 0000 0000,尾数部分为 000 0000 0000 0001 0111 1010 , 故其为非规格化浮点数, 指数为 126,尾数中没有隐藏的 1,用十六进制表示尾数为 + 0000 0000 0010 1111 0100=+ ,故 R1 表示的真值为 + - 1226
6、。R2: 符号位为 1,表示其为负数, 阶码为 1111 1111,尾数部分为 111 1111 1111 1000 1001 0101 , 故其为全 1 阶码非 0 尾数,即是一个 非数 NaN。8假定机器 M 的字长为 32 位,用补码表示带符号整数。下表第一列给出了在机器 M 上执行的 C 语言 程序中的关系表达式,请参照已有的表栏内容完成表中后三栏内容的填写。关系表达式类型结果说明0 = 0U无1000B = 00 0B1 0有1111B ( 1) 00 0B (0)1 00 0B(0)47 47 1有1011 1B (231 1) 100 02B31 () 47U 47 1无0011
7、 1B (231 1) (int) 48U有1011 1B (231 1) 100 02B31 () 1 2有1111B (1) 11 10B (2)(unsigned) 1 2无1111B (232 1) 11 103B2 (22)9以下是一个 C语言程序,用来计算一个数组a中每个元素的和。当参数 len 为 0时,返回值应该是 0, 但是在机器上执行时,却发生了存储器访问异常。请问这是什么原因造成的,并说明程序应该如何 修改。1float sum_elements(float a, unsigned len)23int i;4float result = 0;56for (i = 0; i
8、 = len1; i+)7result += ai;8return result;9参考答案:参数 len 的类型是 unsigned ,所以,当 len=0 时,执行 len-1 的结果为 111,是最大可表示的无符号 数,因而,任何无符号数都比它小,使得循环体被不断执行,引起数组元素的访问越界,发生存储 器访问异常。只要将 len 声明为 int 型,或循环的测试条件改为 ilen 。10. 设某浮点数格式为:数符阶码尾数1 位5 位移码6 位补码 数值其中,移码的偏置常数为 16,补码采用一位符号位, 基数为 4。 (1) 用这种格式表示下列十进制数: +, +19,1/8。 ( 2)
9、写出该格式浮点数的表示范围,并与12 位定点补码整数表示范围比较。参考答案: (假定采用 0 舍 1 入法进行舍入) (1) + = + = 41, 故阶码为 1 +16 = 17 = 10001B, 尾数为+的补码, = 04 =0。 130Q 14 = 04 即,所以 +表示为 0 10001 011100。+19 = +10011B = 34,故阶码为 3 + 16 = 19 = 10011B, 尾数为,所以+19表示为 0 10011 010011 。1/8 = = = 41,阶码为 1 + 16 = 15 = 01111B,尾数为 的补码,即 ,所以 1/8 表示为 1 01111
10、100000。( 2)该格式浮点数表示的范围如下。正数最大值: 141111,即: 415 ( 230 109)正数最小值: 040000,即: 416 ( 2341010)负数最大值: 0 40000,即: 416 负数最小值: 1 41111,即: 415 因此,该格式浮点数的数量级在1010109 之间。12 位定点补码整数的表示范围为: 211 +(2111),即: 20482047 由此可见,定点数和浮点数的表示范围相差非常大。11. 下列几种情况所能表示的数的范围是什么1)16 位无符号整数2)16 位原码定点小数3)16 位补码定点小数4)16 位补码定点整数5)下述格式的浮点数
11、(基数为 2,移码的偏置常数为 128)数符阶码尾数1 位 8 位移码 7 位原码参考答案:1)无符号整数: 02161。2)原码定点小数:3)补码定点小数:4)补码定点整数:5)浮点数:负数:正数:(1215) + (1215)。 1 + (1215)。32768 +32767。 (127) +2127 272128。+2135 (127) +1227。12. 以 IEEE 754单精度浮点数格式表示下列十进制数。 +,+19,1/8,258 参考答案:+ = + = 02, 故阶码为 0+127=01111111B, 数符为 0,尾数为0,小数点前为隐藏位,所以 +表示为 0 011111
12、11 110 0000 0000 0000 0000 0000 ,用十六进制表示为 3FE00000H。+19 = +10011B = + 4,故 2阶码为 4+127 = B, 数符为 0,尾数为0,所以+19表示为 0 001 1000 0000 0000 0000 0000,用十六进制表示为 H。1/8 = = = 2 3,阶码为3+127 = 01111100B,数符为 1,尾数为0,所以1/8 表示为 1 01111100 000 0000 0000 0000 0000 0000 ,用十六进制表示为 BE000000H。258=0B= 8 ,2 故阶码为 8+127=B, 数符为 0
13、,尾数为,所以 258 表示为 0 000 0001 0000 0000 0000 0000,用十六进制表示为 H。13设一个变量的值为 6144,要求分别用 32 位补码整数和 IEEE 754 单精度浮点格式表示该变量(结果 用十六进制表示) ,并说明哪段二进制序列在两种表示中完全相同,为什么会相同参考答案:126144 = +1 1000 0000 0000B = +1. 1 12 232 位补码形式为: 0000 0000 0000 0000 0001 1000 0000 0000 ( 00001800H) IEEE754单精度格式为: 0 100 0000 0000 0000 000
14、0 0000 (45C0 0000H) 蓝字部分为除隐藏位外的有效数字,因此,在两种表示中是相同的序列。因为正数的补码和原码是 一致的,所以除隐藏位外的有效数字都相同。14设一个变量的值为 6144,要求分别用 32 位补码整数和 IEEE754单精度浮点格式表示该变量(结果 用十六进制表示) ,并说明哪种表示其值完全精确,哪种表示的是近似值。参考答案:6144 = 1 1000 0000 0000B = 1. 1 12 232 位补码形式为: 1111 1111 1111 1111 1110 1000 0000 0000 (FFFF E800H)IEEE 754单精度格式为: 1 100 0
15、000 0000 0000 0000 0000 (C5C0 0000H)32 位补码形式能表示精确的值,浮点数表示的也是精确值,因为没有有效数字被截断。15下表给出了有关 IEEE 754 浮点格式表示中一些重要数据的取值,表中已经有最大规格化数的相应内 容,要求填入其他浮点数的相应内容。 (注:表中 a 代表一个在 1 到 10 之间的正纯小数)项目阶码尾数单精度双精度以 2 的幂次表 示的值以 10 的幂次 表示的值以 2 的幂次表 示的值以 10 的 幂次表示 的值0000000000.0000001011111110.001111最大规格化数111(2223) 1227a 1308(2
16、252) 12023a 13008最小规格化数000000010.002126a 103821022a 10308最大非规化数00000000111(1223) 2126a 1038(1252) 21022a 10308最小非规化数000000000012232126=2149a 104425221022a 10+0.00NaN非全 016已知下列字符编码: A=100 0001,a=110 0001,0=011 0000,求 E、e、f、7、G、Z、5的 7位ACSII 码和第一位前加入奇校验位后的8 位编码。参考答案:E的 ASCII码为 A + ( AE) = 100 0001 + 10
17、0 = 100 010奇1,校 验位 P = 0,第一位前加入奇校验位后 的 8 位编码是 0 100 0101 。e的 ASCII码为 a + (ae) = 110 0001 + 100 = 110 0,101奇校验位 P = 1, 第一位前加入奇校验位后 的 8 位编码是 1 110 0101 。f的ASCII码为a+ (af) = 110 0001 + 101 = 110 011奇0,校 验位 P = 1, 第一位前 加入奇校验位后 的 8 位编码是 1 110 0110 。7的 ASCII码为 0 +- 0(7) = 011 0000 + 111 = 011 0111,奇校验位 P =
18、 0, 第一位前加入奇校验位后的 8 位编码是 0 011 0111。G的 ASCII码为 A + ( AG) = 100 0001 + 0110 = 100 011奇1,校 验位 P = 1, 第一位前加入奇校验位后 的 8 位编码是 1 100 0111 。Z的ASCII码为 A +( ZA ) = 100 0001 + 11001 = 101 101奇0,校验位 P = 1, 第一位前加入奇校验位后 的 8 位编码是 1 101 1010 。5的 ASCII码为 0+ (05) = 011 0000 + 101 = 011 0101,奇校验位 P = 1, 第一位前加入奇校验位后的 8
19、位编码是 1 011 0101。17假定在一个程序中定义了变量x、 y 和 i,其中, x 和 y 是 float 型变量(用 IEEE754单精度浮点数表示),i 是 16 位 short 型变量(用补码表示)。程序执行到某一时刻, x = 、 y=12、i=125,它们都被写到了主存(按字节编址) ,其地址分别是 100,108 和 112。请分别画出在 大端机器和小端机器上变量 x、y 和 i 在内存的存放位置。参考答案: = = 3 210100010 0 C( 122 0000H)01000 (4140 0000H)x 在机器内部的机器数为:y 在机器内部的机器数为:12= +110
20、0B= + 3 2125=111 1101Bi 在机器内部的机器数为: 1111 1111 1000 0011( FF83H)大端机小端机地址内容内容100C1H00H10122H00H10200H22H10300HC1H10841H00H10940H00H11000H40H11100H41H112FFH83H11383HFFH18假定某计算机的总线采用 偶校验,每 8位数据有一位校验位, 若在 32位数据线上传输的信息是 8F 3C AB 96H,则对应的 4个校验位应为什么若接受方收到的数据信息和校验位分别为 87 3C AB 96H 和 1010B,则说明发生了什么情况,并给出验证过程。
21、参考答案:传输信息 8F 3C AB 96H展开为 1000 1111 0011 1100 1010 1011 1001 0110 ,每 8 位有一个 偶 校验位, 因此,总线上发送方送出的 4 个校验位应该分别为 1、0、1、 0。接受方的数据信息为 87 3C AB 96H,展开后为 1000 0111 0011 1100 1010 1011 1001 0110 ,接收到的 校验位分别为 1、 0、 1、 0。在接受方进行校验判断如下:根据接收到的数据信息计算出 4 个偶校验位分别为 0、 0、1、0,将该 4 位校验位分别和接收到的 4 位校验位进行异或,得到 1、 0、 0、0,说明数
22、据信息的第一个字节发生传输错误。对照传输前、后 的数据信息,第一字节 8FH 变成了 87H,说明确实发生了传输错误,验证正确。19假定一个 16位数据 M16 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1,写出 16位数据的 SEC 码。假定数据为 0010 1000 1100 1010 ,说明 SEC码如何正确检测数据位 5 的错误。参考答案:对于 16 位数据, 可以如下插入校验位:M16 M15 M14 M13 M12 P5 M11 M10 M9 M8 M7 M6 M5 P4 M4 M3 M2 P3 M1 P2 P1其中 Mi 是原信息数据, Pi是加入的校验位, 对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年包头职业技术学院单招职业适应性考试题库完美版
- 2025年邯郸职业技术学院单招职业倾向性考试题库含答案
- 2025年许昌电气职业学院单招职业适应性测试题库必考题
- 2025年三明医学科技职业学院单招职业倾向性测试题库完美版
- 第三单元《阅读材料:Python第三方库的使用》教学设计 2023-2024学年浙教版(2020)初中信息技术八年级上册
- 2025年宁波财经学院单招职业适应性考试题库汇编
- 2025年河南省漯河市单招职业适应性考试题库及答案1套
- 2025年烟台城市科技职业学院单招职业倾向性考试题库必考题
- 2025年南充电影工业职业学院单招职业适应性考试题库带答案
- 2025年浙江经贸职业技术学院单招职业技能考试题库及答案1套
- 2024年四川省公务员《申论(县乡)》试题真题及答案
- 2025年度事业单位招聘考试公共基础知识模拟试卷及答案(共四套)
- 创业要点计划月历表书项目策划(25篇)
- 富源县中劲鸿泰贸易有限公司墨红镇东兴煤矿矿山地质环境保护与土地复垦方案
- 酒店Opera前台操作流程
- 专题07 综合性学习【知识精研】中考语文二轮复习
- 2025年江西陶瓷工艺美术职业技术学院单招职业技能测试题库1套
- 《老年肺炎临床诊断与治疗专家共识(2024年版)》临床解读
- 人教版 八年级英语下册 Unit 2 单元综合测试卷(2025年春)
- 2025年无锡商业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年中国金属加工液市场调查研究报告
评论
0/150
提交评论