2011年自考“计算机组成原理”串讲资料(2)
第2章 数据编码和数据运算$lesson$
一、名词解释:
历年真题:
(2001年,2002年)基数:在浮点数据编码中,对阶码所代表的指数值的数据,在计算机中是一个常数,不用代码表示。
(2003年)移码:带符号数据表示方法之一,符号位用1表示正,0表示负,其余位与补码相同。
(2004年)溢出:指数的值超出了数据编码所能表示的数据范围。
(2005年)偶校验码:让编码组代码中1的个数为偶数,违反此规律为校验错。
近5年每年都考名称解释,所以第二章的名称解释是考试的重点,这里给大家列出了名词解释大家要熟悉一下,这都是本章的基本概念,有利于做选择题及填空题。
1.原码:带符号数据表示方法之一,一个符号位表示数据的正负,0代表正号,1代表负号,其余的代表数据的绝对值。
2.补码:带符号数据表示方法之一,正数的补码与原码相同,负数的补码是将二进制位按位取反后在最低位上加1.
3.反码:带符号数据的表示方法之一,正数的反码与原码相同,负数的反码是将二进制位按位取反
4.阶码:在浮点数据编码中,表示小数点的位置的代码。
5.尾数:在浮点数据编码中,表示数据有效值的代码。
6.机器零:在浮点数据编码中,阶码和尾数都全为0时代表的0值。
7.上溢:指数的绝对值太大,以至大于数据编码所能表示的数据范围。
8.下溢:指数的绝对值太小,以至小于数据编码所能表示的数据范围。
9.规格化数:在浮点数据编码中,为使浮点数具有唯一的表示方式所作的规定,规定尾数部分用纯小数形式给出,而且尾数的绝对值应大于1/R,即小数点后的第一位不为零。
10.Booth算法:一种带符号数乘法,它采用相加和相减的操作计算补码数据的乘积。
11.海明距离:在信息编码中,两个合法代码对应位上编码不同的位数。
12.冯?诺依曼舍入法:浮点数据的一种舍入方法,在截去多余位时,将剩下数据的最低位置1.
13.检错码:能够发现某些错误或具有自动纠错能力的数据编码。
14.纠错码:能够发现某些错误并且具有自动纠错能力的数据编码。
15.奇校验码:让编码组代码中1的个数为奇数,违反此规律为校验错。
16.海明码:一种常见的纠错码,能检测出两位错误,并能纠正一位错误。
17.循环码:一种纠错码,其合法码字移动任意位后的结果仍然是一个合法码字。
18.桶形移位器:可将输入的数据向左、向右移动1位或多位的移位电路。
二、数制度的转换:
历年真题:
(2001年)1.若十进制数据为 137.5 则其八进制数为( )。
A.89.8 B.211.4 C.211.5 D.1011111.101
「分析」:十进制数转化为八进制数时,整数部分和小数部分要用不同的方法来处理。整数部分的转化采用除基取余法:将整数除以8,所得余数即为八进制数的个位上数码,再将商除以8,余数为八进制十位上的数码……如此反复进行,直到商是0为止;对于小数的转化,采用乘基取整法:将小数乘以8,所得积的整数部分即为八进制数十分位上的数码,再将此积的小数部分乘以8,所得积的整数部分为八进制数百分位上的数码,如此反复……直到积是0为止。此题经转换后得八进制数为211.40.
「答案」:B
(2002年)1.若十进制数为132.75,则相应的十六进制数为( )。
A.21.3 B.84.c C.24.6 D.84.6
「分析」:十进制数转化为十六进制数时,采用除16取余法;对于小数的转化,采用乘16取整法:将小数乘以16,所得积的整数部分转换为十六进制。此题经转换后得十六进制数为84.c.
「答案」:B
(2003年)14.若十六进制数为 A3.5 ,则相应的十进制数为( )。
A.172.5 B.179.3125 C.163.3125 D.188.5
「分析」:将十六进制数A3.5转换为相应的十进制数,可采用乘幂相加法完成,即:10×161+3×160+5×16-1=163.3125.
「答案」:C
(2004年)1.若二进制数为 1111.101 ,则相应的十进制数为 ( )。
A.15.625 B.15.5 C.14.625 D.14.5
「分析」:将二进制数1111.101转换为相应的十进制数,可采用乘幂相加法完成,即:1×23+1×22++1×21+1×20+1×2-1+1×2-3=15.625.
「答案」:A
(2005年)2.若十六进制数为B5.4,则相应的十进制数为( )。
A.176.5 B.176.25 C.181.25 D.181.5
「分析」:将十六进制数B5.4转换为相应的十进制数,可采用乘幂相加法完成,即:11×161+5×160+4×16-1=181.25.
「答案」:C
可见,数制的转换每年必考,必须掌握。
还可能考的题型:
(1)十进制转换为二进制
方法:整数部分除2取余,小数部分乘2取整。
(2)二进制转换为八进制
方法:以小数点为界,整数部分从右向左每三位分为一组,最左端不够三位补零;小数部分从左向右每三位分为一组,最右端不够三位补零;最后将每小组转换位一位八进制数。
(3)二进制转换为十六进制
方法:以小数点为界,整数部分从右向左每四位分为一组,最左端不够四位补零;小数部分从左向右每四位分为一组,最右端不够四位补零;最后将每小组转换位一位十六进制数。
三、数据编码:
定点数编码:
(2000年)2.如果X为负数,由[X]补求[-X]补是将( )。
A.[X]补各值保持不变
B.[X]补符号位变反,其它各位不变
C.[X]补除符号位外,各位变反,未位加1
D.[X]补连同符号位一起各位变反,未位加1
「分析」:不论X是正数还是负数,由[X]补求[-X]补的方法是对[X]补求补,即连同符号位一起按位取反,末位加1.
「答案」:D
(2001年)2.若x补 =0.1101010 ,则 x 原=( )。
A.1.0010101 B.1.0010110 C.0.0010110 D.0.1101010
「分析」:正数的补码与原码相同,负数的补码是用正数的补码按位取反,末位加1求得。此题中X补为正数,则X原与X补相同。
「答案」:D
(2002年)2.若x=1011,则[x]补=( )。
A.01011 B.1011 C.0101 D.10101
「分析」:x为正数,符号位为0,数值位与原码相同,结果为01011.
「答案」:A
(2003年)8.若[X]补=1.1011 ,则真值 X 是( )。
A.-0.1011 B.-0.0101 C.0.1011 D.0.0101
「分析」:[X]补=1.1011,其符号位为1,真值为负;真值绝对值可由其补码经求补运算得到,即按位取后得0.0100再末位加1得0.0101,故其真值为-0.0101.
「答案」:B
(2004年)13.设有二进制数 x=-1101110,若采用 8 位二进制数表示,则[X]补( )。
A.11101101 B.10010011 C.00010011 D.10010010
「分析」:x=-1101110为负数,负数的补码是将二进制位按位取反后在最低位上加1,故[x] 补 =10010010.
「答案」:D
(2005年)1.若[X]补=0.1011,则真值X=( )。
A.0.1011 B.0.0101 C.1.1011 D.1.0101
「分析」:[X]补=0.1011,其符号位为0,真值为正;真值就是0.1011.
「答案」:A
由上可见,有关补码每年都考。同学也要注意一下移码。
(2001)3.若定点整数 64 位,含 1 位符号位,补码表示,则所能表示的绝对值最大负数为( )。
A.-264 B.-(264-1 ) C.-263 D.-(263-1)
「分析」:字长为64位,符号位为1位,则数值位为63位。当表示负数时,数值位全0为负绝对值最大,为-263.
「答案」:C
(2002年)3.某机字长8位,含一位数符,采用原码表示,则定点小数所能表示的非零最小正数为( )
A.2-9 B.2-8 C.1- D.2-7
「分析」:求最小的非零正数,符号位为0,数值位取非0中的原码最小值,此8位数据编码为:00000001,表示的值是:2-7.
「答案」:D
(2003年)13.n+1 位的定点小数,其补码表示的是( )。
A.-1 ≤ x ≤ 1-2-n B.-1 < x ≤ 1-2-n
C.-1 ≤ x < 1-2-n D.-1 < x < 1-2-n
「分析」:
编码方式 最小值编码 最小值 最大值编码 最大值 数值范围
n+1位无符号定点整数 000…000 0 111…111 2n+1-1 0≤x≤2n+1-1
n+1位无符号定点小数 0.00…000 0 0.11…111 1-2-n 0≤x≤1-2-n
n+1位定点整数原码 1111…111 -2n+1 0111…111 2n-1 -2n+1≤x≤2n-1
n+1位点定小数原码 1.111…111 -1+2-n 0.111…111 1-2-n -1+2-n≤x≤1-2-n
n+1位定点整数补码 1000…000 -2n 0111…111 2n-1 -2n≤x≤2n-1
n+1位点定小数补码 1.000…000 -1 0.111…111 1-2-n -1≤x≤1-2-n
n+1位定点整数反码 1000…000 -2n+1 0111…111 2n-1 -2n+1≤x≤2n-1
n+1位点定小数反码 1.000…000 -1+2-n 0.111…111 1-2-n -1+2-n≤x≤1-2-n
n+1位定点整数移码 0000…000 -2n 1111…111 2n-1 -2n≤x≤2n-1
n+1位点定小数移码 小数没有移码定义
「答案」:A
(2004年)12.定点小数反码 [x] 反 =x0. x1 … xn表示的数值范围是( )。
A.-1+2-n < x ≤ 1-2-n B.-1+2-n ≤ x <1-2-n
C.-1+2-n ≤ x ≤ 1-2-n D.-1+2-n < x <1-2-n
答案:C
(2005年)3.一个n+1位整数原码的数值范围是( )。
A.-2n+1< x <2n-1 B.-2n+1≤ x <2n-1
C.-2n+1< x ≤2n-1 D.-2n+1≤ x ≤2n-1
答案:D
由上可见,有关定点数编码表示的数值范围每年都考。今年可能考移码,大家要注意。
浮点数编码:
(2002年)4.设某浮点数共12位。其中阶码含1位阶符共4位,以2为底,补码表示;尾数含1位数符共8位,补码表示,规格化。则该浮点数所能表示的最大正数是( )。
A.27 B.28 C.28-1 D.27-1
「分析」:为使浮点数取正数最大,可使尾数取正数最大,阶码取正数最大。尾数为8位补码(含符号位),正最大为01111111,为1-2-7,阶码为4位补码(含符号位),正最大为0111,为7,则最大正数为:(1-2-7)×27=27-1.
「答案」:D
四、定点数加减法:
定点数编码:
(2001年)5.若采用双符号位,则发生正溢的特征是:双符号位为( )。
A.00 B.01 C.10 D.11
「分析」:采用双符号位时,第一符号位表示最终结果的符号,第二符号位表示运算结果是否溢出。当第二位和第一位符号相同,则未溢出;不同,则溢出。若发生正溢出,则双符号位为01,若发生负溢出,则双符号位为10.
「答案」:B
(2003年)12.加法器中每一位的进位生成信号 g 为( )。
A.xi+yi B.xiyi C.xiyici D.xi+yi+ci
「分析」:在设计多位的加法器时,为了加快运算速度而采用了快速进位电路,即对加法器的每一位都生成两个信号:进位生成信号g和进位传播信号p,其中g和p定义为:gi=xiyi,p=xi+yi.
「答案」:B
(2004年)10.多位二进制加法器中每一位的进位传播信号 p 为( )。
A.xi+yi B.xiyi C.xi+yi+ci D.xiyici
「分析」:在设计多位的加法器时,为了加快运算速度而采用了快速进位电路,即对加法器的每一位都生成两个信号:进位生成信号g和进位传播信号p其中g和p定义为:gi=xiyi,p=xi+yi.
「答案」:A
(2005年)4.若采用双符号位补码运算,运算结果的符号位为01,则( )。
A.产生了负溢出(下溢) B.产生了正溢出(上溢)
C.结果正确,为正数 D.结果正确,为负数
「分析」:采用双符号位时,第一符号位表示最终结果的符号,第二符号位表示运算结果是否溢出。当第二位和第一位符号相同,则未溢出;不同,则溢出。若发生正溢出,则双符号位为01,若发生负溢出,则双符号位为10.
「答案」:B
可见溢出的判断是重要考点,同学还要注意其他两种判断溢出的方法:
(1)两正数相加结果为负或两负数相加结果为正就说明产生了溢出
(2)最高位进位和次高位进位不同则发生了溢出
另外要注意快速进位加法器的进位生成信号g和进位传播信号p其中g和p定义为:gi=xiyi ,p=xi+yi.第i位的进位: .
五、定点数的乘除法:
(2001年)请用补码一位乘中的 Booth 算法计算 x?y=?x=0101,y=-0101,列出计算过程。
「分析」:补码一位乘法中的Booth算法是一种对带符号数进行乘法运算的十分有效的处理方法,采用相加和相减的操作计算补码数据的乘积。做法是从最低位开始,比较相临的数位,相等时不加不减,只进行右移位操作;不相等(01)时加乘数,不相等(10时)相减乘数,再右移位;直到所有位均处理完毕
「答案」:
x=0101,x补=0101, -x补=1011,y=-0101,y补=1011
循环 步骤 乘积(R0 R1 P)
0 初始值 0000 1011 0
1 减0101 1011 1011 0
右移1位 1101 1101 1
2 无操作 1101 1101 1
右移1位 1110 1110 1
3 加0101 0011 1110 1
右移1位 0001 1111 0
4 减0101 1100 1111 0
右移1位 1110 0111 1
所以结果为[x?y]补=11101111,真值为-00011001,十进制值为-25.
(2002年)已知x=0011, y=-0101,试用原码一位乘法求xy=?请给出规范的运算步骤,求出乘积。
「分析」:原码一位乘法中,符号位与数值位是分开进行计算的。运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或。原码一位乘法的每一次循环的操作是最低位为1,加被乘数的绝对值后右移1位;最低位为0,加0后右移1位。几位乘法就循环几次。
「答案」:
x原=00011,y原=10101,|x|=0011, |y|=0101结果的符号位1 0=1
循环 步骤 乘积(R0 R1)
0 初始值 0000 0101
1 加0011 0011 0101
右移1位 0001 1010
2 加0 0001 1010
右移1位 0000 1101
3 加0011 0011 1101
右移1位 0001 1110
4 加0 0001 1110
右移1位 0000 1111
所以结果为-00001111
(2003年)32.用 Booth 算法计算7×(-3)。要求写出每一步运算过程及运算结果。
参考2001年考题
(2004年)32. 用原码的乘法方法进行 0110×0101 的四位乘法。要求写出每一步运算过程及运算结果。
参考2002年考题
(2005年)32.用原码加减交替一位除法进行7÷2运算。要求写出每一步运算过程及运算结果。
「分析」:是教材P46原题
「答案」:
7的原码0111,3的原码0011,结果符号是0 0=0
原码加减交替除法求x/y的分步运算过程。
循环 步骤 余数(R0 R1)
0 初始值 0000 0111
左移,商0 0000 1110
1 减0011 1101 1110
加0011,商0 0000 1110(0)
左移1位 0001 1100
2 减0011 1110 1100
加0011,商0 0001 1100(0)
左移1位 0011 1000
3 减0011 0000 1000
商1 0000 1000(1)
左移1位 0001 0001
4 减0011 1110 0001
加0011,商0 0001 0001(0)
左移1位 0010 0010
R0右移1位 0001 0010
所以,商是0010,即2;余数是0001,即1.
由上可见,定点数乘除法计算题每年必考(10分),同学除了掌握已经考过的三种题型外,还要特别注意原码恢复余数除法的计算过程,教材P44页例题:计算7/2.我们利用这种方法计算一下7/3.
(2000年)1.在原码一位乘中,当乘数Yi为1时,( )。
A.被乘数连同符号位与原部分积相加后,右移一位
B.被乘数绝对值与原部分积相加后,右移一位
C.被乘数连同符号位右移一位后,再与原部分积相加
D.被乘数绝对值右移一位后,再与原部分积相加
「分析」:原码一位乘法中,符号位与数值位是分开进行计算的。运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或。数值位相乘时,当乘数某位为1时,将被乘数绝对值与原部分积相加后,右移一位。
「答案」:B
(2001年)7.原码乘法是( )。
A.先取操作数绝对值相乘,符号位单独处理
B.用原码表示操作数,然后直接相乘
C.被乘数用原码表示,乘数取绝对值,然后相乘
D.乘数用原码表示,被乘数取绝对值,然后相乘
「分析」:原码一位乘法中,符号位与数值位是分开进行计算的。运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或。
「答案」:A
8.原码加减交替除法又称为不恢复余数法,因此( )。
A.不存在恢复余数的操作
B.当某一步运算不够减时,做恢复余数的操作
C.仅当最后一步余数为负时,做恢复余数的操作
D.当某一步余数为负时,做恢复余数的操作
「分析」:在用原码加减交替法作除法运算时,商的符号位是由除数和被除数的符号位异或来决定的,商的数值是由除数、被除数的绝对值通过加减交替运算求得的。由于除数、被除数取的都是绝对值,那么最终的余数当然应是正数。如果最后一步余数为负,则应将该余数加上除数,将余数恢复为正数,称为恢复余数。
「答案」:C
(2002年)5.原码乘法是指( )。
A.用原码表示乘数与被乘数,直接相乘
B.取操作数绝对值相乘,符号位单独处理
C.符号位连同绝对值一起相乘
D.取操作数绝对值相乘,乘积符号与乘数符号相同
答案:B
六、逻辑运算:
(2005年)5.已知一个8位寄存器的数值为11001010,将该寄存器小循环左移一位后,结果为( )。
A.01100101 B.10010100 C.10010101 D.01100100
「分析」:
移位种类 运算规则
算术左移 每位左移一位,最右位移入0,最高位移出进入标志寄存器C位
算术右移 每位右移一位,最高位符号复制,最低位移出进入标志寄存器C位
逻辑左移 每位左移一位,最右位移入0,最高位移出进入标志寄存器C位
逻辑右移 每位右移一位,最右位移入0,最低位移出进入标志寄存器C位
小循环左移 每位左移一位,最高位进入最低位和标志寄存器C位
小循环右移 每位右移一位,最低位进入最高位和标志寄存器C位
大循环左移 每位左移一位,最高位进入标志寄存器C位,C位进入最低位
大循环右移 每位右移一位,最低位进入标志寄存器C位,C位进入最高位
「答案」:C
七、浮点数运算:
(2001)6.浮点加减中的对阶的( )。
A.将较小的一个阶码调整到与较大的一个阶码相同
B.将较大的一个阶码调整到与较小的一个阶码相同
C.将被加数的阶码调整到与加数的阶码相同
D.将加数的阶码调整到与被加数的阶码相同
「分析」:浮点加减法中的对阶是向较大阶码对齐,即将较小的一个阶码调整到与较大的一个阶码相同。
「答案」:A
注意有关浮点数的运算
例:用浮点数运算步骤对56+5进行二进制运算,浮点数格式为1位符号位、5位阶码、10位尾码,基数为2.
「答案」:
5610=1110002=0.111000×26 510=1012=0.101×23
① 对阶:0.101×23=0.000101×26
② 尾数相加:0.111000+0.000101=0.111101
③ 规格化结果:0.111101×26
④ 舍入:数据己适合存储,不必舍入
⑤ 检查溢出:数据无溢出。
第二章一般不考简答题
最新资讯
- 考前必背!自学考试《中国近现代史纲要》论述题高频考点2024-10-19
- 自考报考策略:科学搭配科目,加速毕业进程2024-07-20
- 2025年考研考生五一假期,英语科目应该如何复习?2024-05-03
- 备考指南!2024年4月自学考试考前要做哪些准备?2024-03-31
- 考前备考冲刺!自考如何一次就过?2024-03-30
- 考点汇总:《中国近现代史纲要》论述题2024-03-25
- 备考资料:《中国近现代史纲要》简答题考点汇总2024-03-25
- 自考可以从哪些维度进行备考?2024-02-17
- @自考生,这里有备考技巧2024-02-17
- 自学考试备考复习方法!建议收藏2024-02-16