第二章 数码系统例题及答案
例题1 写出下列各数的原码、反码、补码、移码(用二进制数表示)。 (1)-35/64 (2)23/128 (3)-127
(4)用小数表示-1 (5)用整数表示-1 (6)用整数表示-128
解:-1在定点小数中原码和反码表示不出来,但补码可以表示,-1在定点整数中华表示最大的负数,-128在定点整数表示中原码和反码表示不出来,但补码可以。
十进制数 -35/64 23/128 -127 用小数表示-1 用整数表示-1 用整数表示-128
例题2 设机器字长为16位,分别用定点小数和定点整数表示,分析其原码和补码的表示范围。
解:(1)定点小数表示
最小负数 最大负数 0 最小正数 最大正数 二进制原码 1.111?111 1.000?001 0.000?001 0.111?111 十进制真值 - (1-215) -215 2-15 1-2-15 原码表示的范围:- (1-215) ~1-2-15
二进制补码 1.000?000 1.111?111 0.000?001 0.111?111 十进制真值 -1 -215 2-15 1-2-15 原码表示的范围:- 1 ~1-2-15
二进制真值 -0.100011 0.0010111 -1111111 -1.0 -1 -10000000 原码表示 1.1000110 0.0010111 11111111 10000001 反码表示 补码表示 移码表示 1.0111001 1.0111010 0.0111010 0.0010111 0.0010111 1.0010111 10000000 11111110 10000001 1.0000000 11111111 10000000 0000001 0.000000 01111111 00000000 (2)定点整数表示
最小负数 最大负数 0 最小正数 最大正数 二进制原码 1111?111 1000?001 0000?001 0111?111 十进制真值 - (215-1) -1 +1 215-1 原码表示的范围:- (215-1) ~215-1 [-32767 ~ +32767]
二进制补码 1000?000 1111?111 0000?001 0111?111 十进制真值 -1 +1 215-1 原码表示的范围: - 215 ~ 215-1 [-32768 ~ +32767]
一、选择题
1.下列数中最小的数为( )。
A.(101001)2 B.(52)8 C.(101001)BCD D.(233)16 2.下列数中最大的数为( )。
A.(10010101)2 B.(227)8 C.(96)16 D.(143)5 3.在机器数中,( )的零的表示形式是惟一的。 A.原码 B.补码 C.反码 D.原码和反码 4.针对8位二进制数,下列说法中正确的是( )。
A.-127的补码为10000000 B.-127的反码等于0的移码 C.+1的移码等于-127的反码 D.0的补码等于-1的反码
5.一个8位二进制整数,采用补码表示,且由3个“1”和5个“0”组成,则最小值为( )。 A.-127 B.-32 C.-125 D.-3 6.计算机系统中采用补码运算的目的是为了( )。 A.与手工运算方式保持一致 B.提高运算速度 C,简化计算机的设计 D.提高运算的精度
7.某机字长32位,采用定点小数表示,符号位为1位,尾数为31位,则可表示的最大正小数为( ),最小负小数为( )。
A,+(231-1) B.-(1-2-32) C.+(1-2-31)≈+1 D.-(1-2-31) ≈-1
8.某机字长32位,采用定点整数(原码)表示,符号位为1位,尾数为31位,则可表示的最大正整数为(),最小负整数为()。
A.+(231-1) B.-(1-2-32) C.+(230-1) D.-(231-1)
9.用n+1位字长(其中1位符号位)表示定点整数(原码)时,所能表示的数值范围是()。 A.0≤︱N︱≤2n+1-1 B.0≤︱N︱≤2n-1 C.0≤︱N︱≤2n-1-1
10.用n+1位字长(其中1位符号位)表示定点小数(原码)时,所能表示的数值范围是()。 A.0≤︱N︱≤1-2-(n+1) B.0≤︱N︱≤1-2-n C.0≤︱N︱≤1-2-n-1 11.定点8位字长的字,采用2的补码形式表示8位二进制整数,可表示的数范围为()。 A.-127~+127 B.-2-127~+2-127 C.2-128~2+127 D.-128~+127
12.32位浮点数格式中,符号位为1位,阶码为8位,尾数为23位。则它所能表示的最大规格化正数为()。
A.+(2-2-23)×2+127 B.+(1-2-23)×2-127 C.+(2-2-23)×2+255 D.2+127-2-23
13.64位浮点数格式中,符号位为1位,阶码为11位,尾数为52位。则它所能表示的最小规格化负数为( )。
A.-(2-2-52)×2-1023 B.-(2-2-52)×2+1023 C.-1×2-1024 D.-(1-2-52)×2+2047
14.假定下列字符码中有奇偶校验位,但没有数据错误,采用偶校验的字符码是()。 A.11001011 B.11010110 C.11000001 D.11001001
15.若某数z的真值为-0.1010,在计算机中该数表示为1.0110,则该数所用的编码方法是()码。
A.原 B.补 C.反 D.移
16.长度相同但格式不同的2种浮点数,假设前者阶码长、尾数短,后者阶码短、尾数长,其他规定均相同,则它们可表示的数的范围和精度为()。 A.两者可表示的数的范围和精度相同 B.前者可表示的数的范围大但精度低 C.后者可表示的数的范围大且精度高 D.前者可表示的数的范围大且精度高
17.某数在计算机中用8421BCD码表示为0111 1000 1001,其真值为()。 A.789 B.789H C.1929 D.1lll0001001B 18.在浮点数原码运算时,判定结果为规格化数的条件是()。
A.阶的符号位与尾数的符号位不同 B.尾数的符号位与最高数值位相同 C.尾数的符号位与最高数值位不同 D.尾数的最高数值位为1
19.若浮点数用补码表示,则判断运算结果是否为规格化数的方法是()。 A.阶符与数符相同 B.阶符与数符相异 C.数符与尾数小数点后第1位数字相异 D.数符与尾数小数点后第1位数字相同 答案:
1.C 2.B 3.C 4.B 5.C 6.C 7.①C,②D 10.B 11.D 12.A 13.C 14.D 15.B 16.B 17.A 二、计算题
1.设机器字长16位,定点表示,尾数15位,数符1位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正数是多少?最小负数是多少? [解]
(1)定点原码整数表示:
最小负数值=-(215-1)=-32767
最小负整数表示:1111 1111 1111 1111 最大正数值:(215-1)=+32767 最大正整数表示:0111 1111 1111 1111 (2)定点原码小数表示:
最大正数值=(1-215)10=+0.1111 1111 111 最小负数值=-(1—2
-15
)10=-0.111 1111 111
2.机器字长32位,定点表示,尾数31位,数符1位,问: (1)定点原码整数表示时,最大正数是多少? 最小负数是多少? (2)定点原码小数表示时,最大正数是多少? 最小负数是多少? 2.[解]
(1)定点原码整数表示时,
8.①A,②D 18.D 19.C 9.B 最大正数值=(231-1)10 最小负数值;-(231-1)10 (2)定点原码小数表示时,
最大正数值;(1-231)10 最小负数值:-(1-2-31)10
3.把十进制数X=(+128.75)×2-10写成浮点表示的机器数,阶码、尾数分别用原码、反码和补码表示。设阶码4位,阶符1位,尾数15位,尾数符号1位。 3.[解]X=(+128.75)×2-10
[X]原=1 0010 0 100000001100000 [X]反=1 1101 0 100000001100000 [X]补=1 1110 0 100000001100000 阶 阶 数 尾 符 码 符 数
4.设机器字长为16位,浮点表示时,阶码5位,阶符1位,数符1位,尾数9位。问:最大浮点数为多少? 最小浮点数为多少? 4.[解] 最大浮点数=2+31×(1-2-9) 最小浮点数=-2+31×(1-2-9)
例题:某机采用使用浮点数格式的短浮点数数为“C2308000H”首,计算该浮点数的真值 解:先将其展开为二进制数,并区分出三个字段的编码为: 1,100,0010,0011,0000,1000,0000,0000,0000
数 阶 尾 符 码 数 由于数符为1,该浮点数是一个负数。 阶码真值=10000100-011111ll =00000101
尾数=1.0110,0001,0000,0000,0000,000 于是该浮点数的真值为:
-101100001×2+101=-101100.001 =-54.125
例② 某机中现有浮点数为+74.75,将其变换成32位的短浮点数格式的过程如下:
首先将其变换成二进制格式: +74.75=+1001100.1l 表示成规格化二进制格式为: +1001100.1l=+1.00110011×2+110 计算出阶码的移码为: 110+01111111=10000101 于是该浮点数的短浮点数格式应为:
0100,0010,1001,1001,1000,0000,0000,0000=42998000H
例如:①X=+0.1110110l×2-101 则[X]原=1101,0.11101101 [X]反=1010,0.11101101 [X]补=10ll,0.1110110l ②X=+0.1010110×2+010 则[X]原=0010,0.1010110 [X]反=0010,0.1010110 [X]补=0010,0.1010110 ③X=-0.10101100×2+011 则[X]原=0011,1.10101100
[X]反=0011,1.010100ll [X]补=0011,1.01010100 ④X=-0.01010001×2-111 则[X]原=1111,1.01010001 [X]反=1000,1.10101110 [X]补=1001,1.10101111