【考研类试卷】计算机学科专业基础综合组成原理-13及答案解析.doc
《【考研类试卷】计算机学科专业基础综合组成原理-13及答案解析.doc》由会员分享,可在线阅读,更多相关《【考研类试卷】计算机学科专业基础综合组成原理-13及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、计算机学科专业基础综合组成原理-13 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:100.00)1.一个 C 语言程序在一台 32 位机器上运行。程序中定义了三个变量 x、y、z,其中 x 和 z 为 int 型,y为 short 型。当 x=127、y=-9 时,执行赋值语句 z=x+y 后,x、y、z 的值分别是_。(分数:2.50)A.x=0000007FH,y=FFF9H,z=00000076HB.x=0000007FH,y=FFF9H,z=FFFF0076HC.x=0000007FH,y=FFF7H,z=FFFF0076HD.x=0000
2、007FH,y=FFF7H,z=00000076H2.假定有 4 个整数用 8 位补码分别表示 r1=FEH、r2=F2H、r3=90H、r4=F8H,若将运算结果存放在一个 8位寄存器中,则下列运算会发生溢出的是_。(分数:2.50)A.r1r2B.r2r3C.r1r4D.r2r43.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定 int 和 short 型长度分别为 32位和 16 位,并且数据按边界对齐存储。某 C 语言程序段如下: struct int a; char b; shott c; record; record.a=273; 若 record 变量的首地址为
3、0xC008,则地址 0xC008 中内容及 record.c 的地址分别为_。(分数:2.50)A.0x00、0xC00DB.0x00、0xC00EC.0x11、0xC00DD.0x11、0xC00E4.假定编译器规定 int 和 short 类型长度分别为 32 位和 16 位,执行下列 C 语言语句 unsigned short x=65530; unsigned int y=x; 得到 y 的机器数为_。(分数:2.50)A.0000 7FFAHB.0000 FFFAHC.FFFF 7FFAHD.FFFF FFFAH5.有如下 C 语言程序段 short si=-32767; unsi
4、gned Short usi=si; 执行上述两条语句后,usi 的值为_。(分数:2.50)A.-32767B.32767C.32768D.327696.对真值 0 表示形式唯一的机器数是_。(分数:2.50)A.原码B.补码和移码C.反码D.以上都不对7.若X 补 =0.1101010,则X 原 =_。(分数:2.50)A.1.0010101B.1.01110110C.0.0010110D.0.11010108.若X 补 =1.1101010,则X 原 =_。(分数:2.50)A.1.0010101B.1.0010110C.0.0010110D.0.11010109.如果 X 为负数,由X
5、 补 求-X 补 是将_。(分数:2.50)A.补各值保持不变B.补符号位变反,其他各位不变C.补除符号位外,各位变反,末位加 1D.补连同符号位一起变反,末位加 110.8 位原码能表示的不同数据有_。(分数:2.50)A.15B.16C.255D.25611.定点小数反码X反=x 0 .x 1 x n 表示的数值范围是_。 A.-1+2-nx1-2 -n B.-1+2-nx1-2 -n C.-1+2-nx1-2 -n D.-1+2-nx1-2 -n(分数:2.50)A.B.C.D.12.一个 n+1 位整数 x 原码的数值范围是_。 A.-2n+1x2 n-1 B.-2n+1x2 n-1
6、C.-2n+1x2 n-1 D.-2n+1x2 n-1(分数:2.50)A.B.C.D.13.补码定点整数 0101 0101 左移两位后的值为_。(分数:2.50)A.0100 0111B.0101 0100C.0100 0110D.0101 010114.补码定点整数 1001 0101 右移 1 位后的值为_。(分数:2.50)A.0100 1010B.01001010 1C.1000 1010D.1100 101015.计算机内部的定点数大多用补码表示,以下是一些关于补码特点的叙述: 零的表示是唯一的 符号位可以和数值部分一起参加运算 和其真值的对应关系简单、直观 减法可用加法来实现
7、在以上叙述中,_是补码表示的特点。(分数:2.50)A.和B.和C.和和D.和和16.n 位定点整数(有符号)表示的最大值是_。 A.2n B.2n-1 C.2n-1 D.2n-1-1(分数:2.50)A.B.C.D.17.对于相同位数(设为 N 位,不考虑符号位)的二进制补码小数和十进制小数,二进制小数能表示的数的个数/十进制小数所能表示数的个数为_。 A.(0.2)N B.(0.2)N-1 C.(0.02)N D.(0.02)N-1(分数:2.50)A.B.C.D.18.若定点整数 64 位,含一位符号位,采用补码表示,所能表示的绝对值最大负数为_。 A.-264 B.-(264-1) C
8、.-263 D.-(263-1)(分数:2.50)A.B.C.D.19.5 位二进制定点小数,用补码表示时,最小负数是_。(分数:2.50)A.0.111B.1.0001C.1.111D.1.000020.下列关于补码和移码关系的叙述中,_是不正确的。(分数:2.50)A.相同位数的补码和移码表示具有相同的数据表示范围B.零的补码和移码表示相同C.同一个数的补码和移码表示,其数值部分相同,而符号相反D.一般用移码表示浮点数的阶,而补码表示定点整数21.设x补 = 1.x 1 x 2 x 3 x 4 ,当满足_时,x-1/2 成立。(分数:2.50)A.x1 必须为 1,x2x3x4 至少有一个
9、为 1B.x1 必须为 1,x2x3x4 任意C.x1 必须为 0,x2x3x4 至少有一个为 1D.x1 必须为 0,x2x3x4 任意22.若x 补 =1,x 1 x 2 x 3 x 4 x 5 x 6 ,其中 x i 取 0 或 1,若要 x-32,应当满足_。(分数:2.50)A.x1 为 0,其他各位任意B.x1 为 1,其他各位任意C.x1 为 1,x2x6 中至少有一位为 1D.x1 为 0,x2x6 中至少有一位为 123.设 x 为整数,x 补 =1,x 1 x 2 x 3 x 4 x 5 ,若要 x-16,x 1 x 5 应满足的条件是_。(分数:2.50)A.x1x5 至
10、少有一个为 1B.x1 必须为 0,x2x5 至少有一个为 1C.x1 必须为 0,x2x5 任意D.x1 必须为 1,x2x5 任意24.已知定点小数 X 的补码为 1.x 1 x 2 x 3 ,且 X-0.75,则必有_。(分数:2.50)A.x1=1,x2=0,x3=1B.x1=1C.x1=0,且 x2x3 不全为 1D.x1=0,x2=0,x3=025.一个 8 位寄存器内的数值为 11001010,进位标志寄存器 C 为 0,若将此 8 位寄存器循环左移(不带进位位)1 位,则该 8 位寄存器和标志寄存器内数值分别为_。(分数:2.50)A.10010100 1B.10010101
11、0C.10010101 1D.10010100 026.设机器数字长 8 位(含 1 位符号位),若机器数 BAH 为原码,算术左移 1 位和算术右移 1 位分别得_。(分数:2.50)A.F4H,EDHB.B4H,6DHC.F4H,9DHD.B5H,EDH27.设 x 为真值,x * 为其绝对值,满足-x * 补 =-x 补 ,当且仅当_。(分数:2.50)A.x 任意B.x 为正数C.x 为负数D.以上说法都不对28.16 位补码 0x8FA0 扩展为 32 位应该是_。(分数:2.50)A.0x0000 8FA0B.0xFFFF 8FA0C.0xFFFF FFA0D.0x8000 8FA
12、029.在定点运算器中,无论采用双符号位还是单符号位,必须有_。(分数:2.50)A.译码电路,它一般用“与非”门来实现B.编码电路,它一般用“或非”门来实现C.溢出判断电路,它一般用“异或”门来实现D.移位电路,它一般用“与或非”门来实现30.下列说法中正确的是_。 在计算机中,所表示的数有时会发生溢出,其根本原因是计算机的字长有限 8421 码就是二进制数 一个正数的补码和这个数的原码表示一样,而正数的反码是原码各位取反 设有两个正的规格化浮点数:N 1 =2 m M 1 ,N 2 =2 n M 2 ,若 mn,则有 N 1 N 2(分数:2.50)A.、B.、C.、D.、31.关于模 4
13、 补码,下列说法正确的是_。(分数:2.50)A.模 4 补码和模 2 补码不同,它更容易检查乘除运算中的溢出问题B.每个模 4 补码存储时只需一个符号位C.存储每个模 4 补码需要两个符号位D.模 4 补码,在算术与逻辑部件中为一个符号位32.假定一个十进制数为-66,按补码形式存放在一个 8 位寄存器中,该寄存器的内容用十六进制表示为_。(分数:2.50)A.C2HB.BEHC.BDHD.42H33.设机器数采用补码表示(含 1 位符号位),若寄存器内容为 9BH,则对应的十进制数为_。(分数:2.50)A.-27B.-97C.-101D.15534.若寄存器内容为 10000000,若它
14、等于-0,则为_。(分数:2.50)A.原码B.补码C.反码D.移码35.若寄存器内容为 11111111,若它等于+127,则为_。(分数:2.50)A.反码B.补码C.原码D.移码36.若寄存器内容为 11111111,若它等于-1,则为_。(分数:2.50)A.原码B.补码C.反码D.移码37.若寄存器内容为 00000000,若它等于-128,则为_。(分数:2.50)A.原码B.补码C.反码D.移码38.若二进制定点小数真值是-0.1101,机器表示为 1.0010,则为_。(分数:2.50)A.原码B.补码C.反码D.移码39.下列为 8 位移码机器数x 移 ,当求-x 移 时,_
15、将会发生溢出。(分数:2.50)A.11111111B.00000000C.10000000D.0111111140.若采用双符号位,则两个正数相加产生溢出的特征时,双符号位为_。(分数:2.50)A.00B.01C.10D.11计算机学科专业基础综合组成原理-13 答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:100.00)1.一个 C 语言程序在一台 32 位机器上运行。程序中定义了三个变量 x、y、z,其中 x 和 z 为 int 型,y为 short 型。当 x=127、y=-9 时,执行赋值语句 z=x+y 后,x、y、z 的值分别是_。(分
16、数:2.50)A.x=0000007FH,y=FFF9H,z=00000076HB.x=0000007FH,y=FFF9H,z=FFFF0076HC.x=0000007FH,y=FFF7H,z=FFFF0076HD.x=0000007FH,y=FFF7H,z=00000076H 解析:解析 结合题干及选项可知,int 为 32 位,short 为 16 位:又因 C 语言的数据在内存中为补码形式,故 x、y 的机器数写为 0000007F、FFF7H。执行 z=x+y 时,由于 x 为 int 型,y 为 short 型,故需将 y的类型强制转换为 int 型,在机器中通过符号位扩展实现,由于
17、 y 的符号位为 1,故在 y 的前面添加 16个 1,即可将 y 强制转换为 int 型,其十六进制形式为 FFFFFFF7H。然后执行加法,即0000007FH+FFFFFFF7H=00000076H,其中最高位的进位 1 自然丢弃。 数据转换时应注意的问题有: 1)有符号数和无符号数之间的转换。例如,由 signed 型转化为等长 unsigned 型数据时,符号位成为数据的一部分,也就是说,负数转化为无符号数数值将发生变化。同理,由 unsigned 转化为 signed 时最高位作为符号位,也可能发生数值变化。 2)数据的截取与保留。当一个浮点数转化为整数时,浮点数的小数部分全部舍去
18、,并按整数形式存储。但浮点数的整数部分不能超过整型数允许的最大范围。否则溢出。 3)数据转换中的精度丢失。四舍五入会丢失一些精度,截去小数也会丢失一些精度。此外,数据由 long型转换为 float 或 double 型时,有可能在存储时不能准确地表示该长整数的有效数字,精度也会受到影响。 4)数据转换结果的不确定性。当较长的整数转换为较短的整数时,要将高位截去,例如,long 型转换为short 型,只将低 16 位送过去,这样就会产生很大的误差。浮点数降格时,如 double 型转换为 float 型,当数值超过了 float 型的表示范围时,所得到的结果将是不确定的。 对于此问题在常见问
19、题与知识点的第 2 问中有另一角度的解析。2.假定有 4 个整数用 8 位补码分别表示 r1=FEH、r2=F2H、r3=90H、r4=F8H,若将运算结果存放在一个 8位寄存器中,则下列运算会发生溢出的是_。(分数:2.50)A.r1r2B.r2r3 C.r1r4D.r2r4解析:解析 本题的真正意图是考查补码的表示范围,而不是补码的乘法运算。若采用补码乘法规则计算出 4 个选项,是费力不讨好的做法,而且极容易出错。8 位补码所能表示的整数范围为-128+127。将4 个数全部转换为十进制:r 1 =-2,r 2 =-14,r 3 =-112,r 4 =-8,得 r 2 r 3 =1568,
20、远超出了表示范围,发生溢出。3.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定 int 和 short 型长度分别为 32位和 16 位,并且数据按边界对齐存储。某 C 语言程序段如下: struct int a; char b; shott c; record; record.a=273; 若 record 变量的首地址为 0xC008,则地址 0xC008 中内容及 record.c 的地址分别为_。(分数:2.50)A.0x00、0xC00DB.0x00、0xC00EC.0x11、0xC00DD.0x11、0xC00E 解析:解析 尽管 record 大小为 7 个字节(
21、成员 a 有 4 个字节,成员 b 有 1 个字节,成员 c 有 2 个字节),由于数据按边界对齐方式存储,故 record 共占用 8 个字节。record.a 的十六进制表示为 0x00000111,由于采用小端方式存放数据,故地址 0xC008 中内容应为低字节 0x11;record.b 只占 1 个字节,后面的一个字节留空;record.c 占 2 个字节,故其地址为 0xC00E。 各字节的存储分配如下表所示。 地址 0xC008 0xC009 0xC00A 0xC00B 内容 record.a(0x11) record.a(0x01) record.a(0x00) record.
22、a(0x00) 地址 0xC00C 0xC00D 0xC00E 0xC00F 内容 record.b - record.c record.c 4.假定编译器规定 int 和 short 类型长度分别为 32 位和 16 位,执行下列 C 语言语句 unsigned short x=65530; unsigned int y=x; 得到 y 的机器数为_。(分数:2.50)A.0000 7FFAHB.0000 FFFAH C.FFFF 7FFAHD.FFFF FFFAH解析:解析 将一个 16 位 unsigned short 转换成 32 位形式的 unsigned int,因为都是无符号数,
23、新表示形式的高位用 0 填充。16 位无符号整数所能表示的最大值为 65535,其十六进制表示为 FFFFH,故 x的十六进制表示为 FFFFH-5H=FFFAH,所以 y 的十六进制表示为 0000 FFFAH。 排除法:先直接排除 C、D,然后分析余下选项的特征。由于 A、B 的值相差几乎近 1 倍,可采用算出 0001 0000H(接近 B 且好算的数)的值,再推断出答案。5.有如下 C 语言程序段 short si=-32767; unsigned Short usi=si; 执行上述两条语句后,usi 的值为_。(分数:2.50)A.-32767B.32767C.32768D.327
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机 学科专业 基础 综合 组成 原理 13 答案 解析 DOC
