补码一位乘法
booth算法补码乘法

booth算法补码乘法Booth算法是一种用于进行补码乘法的算法。
补码乘法是一种计算机中常用的乘法方式,它可以实现有符号乘法运算。
Booth算法基于以下原理:对于两个二进制数的乘法,可以通过将其中一个数转换为它的补码,再进行一系列的移位和加法操作来实现。
具体来说,Booth算法有以下步骤:1.输入被乘数(A)和乘数(B),并确定它们的位数。
2.为了计算补码乘法,需要将被乘数和乘数都转换为补码形式。
对于正数而言,其补码就是其本身;对于负数而言,则需要进行取反加一的操作得到其补码。
3.准备一个辅助位,初始化为0,用于记录乘法过程中的状态。
这个辅助位我们称为Q。
4.进行一系列的循环操作,直到乘法过程结束。
循环的次数等于被乘数的位数。
5.在每一次循环中,根据乘数和辅助位的取值,可以进行三种操作:加、减和保持。
6.如果乘数的最低位为1且辅助位为0,表示需要将被乘数加到一个中间结果中。
7.如果乘数的最低位为0且辅助位为1,表示需要将被乘数的负数加到一个中间结果中。
8.如果乘数和辅助位的取值都为0,则保持中间结果不变。
9.每次操作完成后,将乘数右移一位,辅助位更新为乘数的最低位,并将中间结果右移一位。
10.重复以上步骤,直到循环结束。
11.循环结束后,将得到的中间结果进行补码转换,即可得到最终的乘法结果。
Booth算法通过引入辅助位和一系列的位移和操作来实现补码乘法,它大大简化了乘法过程,提高了计算效率。
Booth算法在计算机体系结构设计和高性能计算中得到了广泛的应用。
总结起来,Booth算法是一种用于进行补码乘法的算法,通过引入辅助位和一系列的位移和操作来实现乘法运算。
它减少了乘法过程中的复杂性,并提高了计算效率。
2.1各数原码、反码、补码和移码见下表

2.227/64=00011011/01000000=0.0110110=0.11011×2-1规格化浮点表示为:[27/64]原=101,011011000[27/64]反=110,011011000[27/64]补=111,011011000同理:--27/64=--0.11011×2-1规格化浮点表示为:[27/64]原=101,111011000[27/64]反=110,100100111[27/64]补=111,1001010002.3 模为:29=10000000002.4 不对,8421码是十进制的编码2.5浮点数的正负看尾数的符号位是1还是0浮点数能表示的数值范围取决于阶码的大小。
浮点数数值的精确度取决于尾数的长度。
2.61)不一定有N1>N2 2)正确2.7 最大的正数:0111 01111111 十进制数:(1-2-7)×27最小的正数:1001 00000001 十进制数:2-7×2-7最大的负数:1001 11111111 十进制数:--2-7×2-7最小的负数:0111 10000001 十进制数:--(1-2-7)×272.81)[x]补=00.1101 [y]补=11.0010[x+y]补=[x]补+[y]补=11.1111无溢出x+y= -0.0001[x]补=00.1101 [--y]补=00.1110[x-y]补=[x]补+[--y]补=01.1011 正向溢出2)[x]补=11.0101 [y]补=00.1111[x+y]补=[x]补+[y]补=00.0100 无溢出x+y= 0.0100[x]补=11.0101 [--y]补=11.0001[x-y]补=[x]补+[--y]补=10.0110 负向溢出3) [x]补=11.0001 [y]补=11.0100[x+y]补=[x]补+[y]补=10.0101 负向溢出[x]补=11.0001 [--y]补=00.1100[x-y]补=[x]补+[--y]补=11.1101 无溢出X-y=-0.00112.91)原码一位乘法|x|=00.1111 |y|=0.1110部分积乘数y n00.0000 0.1110+00.000000.0000→00.00000 0.111+00.111100.11110→00.011110 0.11+00.111101.011010→00.1011010 0.1+00.111101.1010010→00.11010010P f=x f⊕y f=1 |p|=|x|×|y|=0.11010010所以[x×y]原=1.11010010补码一位乘法[x]补=11.0001 [y]补=0.1110 [--x]补=11.0001 部分积y n y n+100.0000 0.11100→00.00000 0.1110+00.111100.11110→00.011110 0.111→00.0011110 0.11→00.00011110 0.1+11.000111.00101110[x×y]补=11.001011102)原码一位乘法|x|=00.110 |y|=0.010部分积乘数y n00.000 0.010+00.00000.000→00.0000 0.01+00.11000.1100→00.01100 0.0+00.00000.01100 0→00.001100P f=x f⊕y f=0 |p|=|x|×|y|=0.001100所以[x×y]原=0.001100补码一位乘法[x]补=11.010 [y]补=1.110 [--x]补=00.110部分积y n y n+100.000 1.1100→00.0000 1.110+00.11000.1100→00.01100 1.11→00.001100 1.1所以[x×y]补=0.0011002.101)原码两位乘法|x|=000.1011 |y|=00.0001 2|x|=001.0110部分积乘数 c000.0000 00.00010+000.1011000.1011→000.001011 0.000→000.00001011 00.0P f=x f⊕y f=1 |p|=|x|×|y|=0.00001011所以[x×y]原=1.00001011补码两位乘法[x]补=000.1011 [y]补=11.1111 [--x]补=111.0101 部分积乘数y n+1000.0000 11.11110+111.0101111.0101→111.110101 11.111→111.11110101 11.1所以[x×y]补=111.11110101 x×y=--0.000010112)原码两位乘法|x|=000.101 |y|=0.111 2|x|=001.010 [--|x| ]补=111.011 部分积乘数 c000.000 0.1110+111.011111.011→111.11011 0.11+001.010001.00011→000.100011P f=x⊕y f=0 |p|=|x|×|y|=0.100011所以[x×y]原=0.100011补码两位乘法[x]补=111.011 [y]补=1.001 [--x]补=000.101 2[--x]补=001.010 部分积乘数y n+1000.000 1.0010+111.011111.011→111.111011 1.00+001.010001.00011→000.100011所以[x×y]补=0.1000112.111) 原码不恢复余数法|x|=00.1010 |y|=00.1101 [--|y| ]补=11.0011部分积商数00.1010+11.00111101101 0←11.1010+00.110100.0111 0.1←00.1110+11.001100.0001 0.11←00.0010+11.001111.0101 0.110←01.1010+00.110111.0111 0.1100+00.110100.0100所以[x/y]原=0.1100 余数[r]原=0.0100×2—4补码不恢复余数法[x]补=00.1010 [y]补=00.1101 [--y]补=11.0011 部分积商数00.1010+11.001111.1101 0←11.1010+00.110100.0111 0.1←00.1110+11.001100.0001 0.11←00.0010+11.001111.0101 0.110←10.1010+00.110111.0111 0.1100+00.110100.0100所以[x/y]补=0.1100 余数[r]补=0.0100×2—42)原码不恢复余数法|x|=00.101 |y|=00.110 [--|y| ]补=11.010 部分积商数00.101+11.01011.111 0←11.110+00.11000.100 0.1←01.000+11.01000.010 0.11←00.100+11.01011.110 0.110+00.11000. 100所以[x/y]原=1.110 余数[r]原=1.100×2—3补码不恢复余数法[x]补=11.011 [y]补=00.110 [--y]补=11.010 部分积商数11.011+00.11000.001 1←00.010+11.01011.100 1.0←11.000+00.11011.110 1.0011.100+00.11000.010 1.001+11.01011.100所以[x/y]补=1.001+2—3=1.010 余数[r]补=1.100×2—32.121)[x]补=21101×00.100100 [y]补=21110×11.100110小阶向大阶看齐:[x]补=21110×00.010010求和:[x+y]补=21110×(00.010010+11.100110)=21110×11.111000 [x-y]补=21110×(00.010010+00.011010)=21110×00.101100 规格化:[x+y]补=21011×11.000000 浮点表示:1011,11.000000规格化:[x-y]补=21110×00.101100 浮点表示:1110,0.101100 2)[x]补=20101×11.011110 [y]补=20100×00.010110小阶向大阶看齐:[y]补=20101×00.001011求和:[x+y]补=20101×(11.011110+00.001011)=20101×11.101001 [x-y]补=20101×(11.011110+11.110101)=20101×00.010011 规格化:[x+y]补=21010×11.010010 浮点表示:1010,11. 010010规格化:[x-y]补=21010×00.100110 浮点表示:1010,00.1001102.13见教材:P702.141)1.0001011×262)0.110111*×2-62.151)串行进位方式C1=G1+P1C0G1=A1B1,P1=A1⊕B1C2=G2+P2C1G2=A2B2,P2=A2⊕B2C3=G3+P3C2G3=A3B3,P3=A3⊕B3C4=G4+P4C3G4=A4B4,P4=A4⊕B42)并行进位方式C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0C4= G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C02.16参考教材P62 32位两重进位方式的ALU和32位三重进位方式的ALU 2.17“1”。
计算机组成原理(薛胜军)课后习题答案第三版(1)

1. 1计算机是一种能自动地、高速地对各种数字化信息进行运算处理的电子设备。
1. 2冯诺依曼计算机体系结构的基本思想是存储程序,也就是将用指令序列描述的解题程序与原始数据一起存储到计算机中。
计算机只要一启动,就能自动地取出一条条指令并执行之,直至程序执行完毕,得到计算结果为止。
按此思想设计的计算机硬件系统包含:运算器、控制器、存储器、输入设备和输出设备。
各部分的作用见教材:P10—P121. 3计算机的发展经历了四代。
第一代:见教材P1第二代:见教材P2第三代:见教材P2第四代:见教材P21.4系统软件定义见教材:P12—13,应用软件定义见教材:P121.5见教材:P14—151.6见教材:P111.7见教材:P6—81.8硬件定义见教材:P9软件定义见教材:P12固件定义见教材:P131.91)听觉、文字、图像、音频、视频2)图像、声音、压缩、解压、DSP1.10处理程度按从易到难是:文本→图形→图像→音频→视频第二章2.1各数的原码、反码、补码和移码见下表:2.227/64=00011011/01000000=0.0110110=0.11011×2-1规格化浮点表示为:[27/64]原=101,011011000[27/64]反=110,011011000[27/64]补=111,011011000同理:--27/64=--0.11011×2-1规格化浮点表示为:[27/64]原=101,111011000[27/64]反=110,100100111[27/64]补=111,1001010002.3 模为:29=10000000002.4 不对,8421码是十进制的编码2.5浮点数的正负看尾数的符号位是1还是0浮点数能表示的数值范围取决于阶码的大小。
浮点数数值的精确度取决于尾数的长度。
2.61)不一定有N1>N2 2)正确2.7 最大的正数:0111 01111111 十进制数:(1-2-7)×27最小的正数:1001 00000001 十进制数:2-7×2-7最大的负数:1001 11111111 十进制数:--2-7×2-7最小的负数:0111 10000001 十进制数:--(1-2-7)×272.81)[x]补=00.1101 [y]补=11.0010[x+y]补=[x]补+[y]补=11.1111无溢出x+y= -0.0001[x]补=00.1101 [--y]补=00.1110[x-y]补=[x]补+[--y]补=01.1011 正向溢出2)[x]补=11.0101 [y]补=00.1111[x+y]补=[x]补+[y]补=00.0100 无溢出x+y= 0.0100[x]补=11.0101 [--y]补=11.0001[x-y]补=[x]补+[--y]补=10.0110 负向溢出3) [x]补=11.0001 [y]补=11.0100[x+y]补=[x]补+[y]补=10.0101 负向溢出[x]补=11.0001 [--y]补=00.1100[x-y]补=[x]补+[--y]补=11.1101 无溢出X-y=-0.00112.91)原码一位乘法 |x|=00.1111 |y|=0.1110部分积乘数 y n00.0000 0.1110+00.000000.0000→00.00000 0.111+00.111100.11110→00.011110 0.11+00.111101.011010→00.1011010 0.1+00.111101.1010010→00.11010010P f=x f⊕y f=1 |p|=|x|×|y|=0.11010010所以[x×y]原=1.11010010补码一位乘法 [x]补=11.0001 [y]补=0.1110 [--x]补=11.0001 部分积 y n y n+100.0000 0.11100→00.00000 0.1110+00.111100.11110→00.011110 0.111→00.0011110 0.11→00.00011110 0.1+11.000111.00101110[x×y]补=11.001011102)原码一位乘法 |x|=00.110 |y|=0.010部分积乘数 y n00.000 0.010+00.00000.000→00.0000 0.01+00.11000.1100→00.01100 0.0+00.00000.01100 0→00.001100P f=x f⊕y f=0 |p|=|x|×|y|=0.001100所以[x×y]原=0.001100补码一位乘法 [x]补=11.010 [y]补=1.110 [--x]补=00.110部分积 y n y n+100.000 1.1100→00.0000 1.110+00.11000.1100→00.01100 1.11→00.001100 1.1所以[x×y]补=0.0011002.101)原码两位乘法 |x|=000.1011 |y|=00.0001 2|x|=001.0110部分积乘数 c000.0000 00.00010+000.1011000.1011→000.001011 0.000→000.00001011 00.0P f=x f⊕y f=1 |p|=|x|×|y|=0.00001011所以[x×y]原=1.00001011补码两位乘法 [x]补=000.1011 [y]补=11.1111 [--x]补=111.0101部分积乘数 y n+1000.0000 11.11110+111.0101111.0101→111.110101 11.111→111.11110101 11.1所以[x×y]补=111.11110101 x×y=--0.000010112)原码两位乘法 |x|=000.101 |y|=0.111 2|x|=001.010 [--|x| ]补=111.011 部分积乘数 c000.000 0.1110+111.011111.011→111.11011 0.11+001.010001.00011→000.100011P f=x⊕y f=0 |p|=|x|×|y|=0.100011所以[x×y]原=0.100011补码两位乘法 [x]补=111.011 [y]补=1.001 [--x]补=000.101 2[--x]补=001.010 部分积乘数 y n+1000.000 1.0010+111.011111.011→111.111011 1.00+001.010001.00011→000.100011所以[x×y]补=0.1000112.111) 原码不恢复余数法 |x|=00.1010 |y|=00.1101 [--|y| ]补=11.0011部分积商数00.1010+11.00111101101 0←11.1010+00.110100.0111 0.1←00.1110+11.001100.0001 0.11←00.0010+11.001111.0101 0.110←01.1010+00.110111.0111 0.1100+00.110100.0100所以[x/y]原=0.1100 余数[r]原=0.0100×2—4补码不恢复余数法 [x]补=00.1010 [y]补=00.1101 [--y]补=11.0011 部分积商数00.1010+11.001111.1101 0←11.1010+00.110100.0111 0.1←00.1110+11.001100.0001 0.11←00.0010+11.001111.0101 0.110←10.1010+00.110111.0111 0.1100+00.110100.0100所以[x/y]补=0.1100 余数[r]补=0.0100×2—42)原码不恢复余数法 |x|=00.101 |y|=00.110 [--|y| ]补=11.010 部分积商数00.101+11.01011.111 0←11.110+00.11000.100 0.1←01.000+11.01000.010 0.11←00.100+11.01011.110 0.110+00.11000. 100所以[x/y]原=1.110 余数[r]原=1.100×2—3补码不恢复余数法 [x]补=11.011 [y]补=00.110 [--y]补=11.010 部分积商数11.011+00.11000.001 1←00.010+11.01011.100 1.0←11.000+00.11011.110 1.00←11.100+00.11000.010 1.001+11.01011.100所以[x/y]补=1.001+2—3=1.010 余数[r]补=1.100×2—32.121)[x]补=21101×00.100100 [y]补=21110×11.100110小阶向大阶看齐: [x]补=21110×00.010010求和:[x+y]补=21110×(00.010010+11.100110)=21110×11.111000 [x-y]补=21110×(00.010010+00.011010)=21110×00.101100 规格化:[x+y]补=21011×11.000000 浮点表示:1011,11.000000规格化:[x-y]补=21110×00.101100 浮点表示:1110,0.101100 2)[x]补=20101×11.011110 [y]补=20100×00.010110小阶向大阶看齐:[y]补=20101×00.001011求和:[x+y]补=20101×(11.011110+00.001011)=20101×11.101001 [x-y]补=20101×(11.011110+11.110101)=20101×00.010011 规格化:[x+y]补=21010×11.010010 浮点表示:1010,11. 010010规格化:[x-y]补=21010×00.100110 浮点表示:1010,00.1001102.13见教材:P702.141)1.0001011×262)0.110111*×2-62.151)串行进位方式C1=G1+P1C0 G1=A1B1, P1=A1⊕B1C2=G2+P2C1 G2=A2B2, P2=A2⊕B2C3=G3+P3C2 G3=A3B3, P3=A3⊕B3C4=G4+P4C3 G4=A4B4, P4=A4⊕B42)并行进位方式C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0C4= G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C02.16参考教材P62 32位两重进位方式的ALU和32位三重进位方式的ALU 2.17第三章3.1见教材:P793.2 见教材:P833.3与SRAM相比,DRAM在电路组成上有以下不同之处:1)地址线的引脚一般只有一半,因此,增加了两根控制线RAS、CAS,分别控制接受行地址和列地址。
计算机组成原理实验报告

(3)开关ALUB=0,开启输出三态门,开关SWB=1,关闭输入三态门,同时让 LDDR1=0,LDDR2=0。
(4)如果原来有进位,CY=1,进位灯亮,但需要清零进位标志时,具体操作方法如下:
◆S3、S2、S1、S0、M的状态置为0 0 0 0 0,AR信号置为“0”电平(清
零操作时DRl寄存器中的数应不等于FF)。
◆按动手动脉冲发生开关,CY=0,即清进位标志。
注:进位标志指示灯
CY亮时表示进位标志为“1”,有进位;进位标志指示灯CY灭时,表示进位位为“0”,无进位。
(5)验证带进位运算及进位锁存功能
这里有两种情况:
●进位标志已清零,即CY=0,进位灯灭。
✧使开关CN=0,再来进行带进位算术运算。
例如步骤(2)参与运算的两个数
为55H和AAH,当S3、S2、S1、S0状态为10010,此时输出数据总线显示灯上显示的数据为DRl加DR2再加初始进位位“1”(因CN=0),相加的结果应为ALU=00,并且产生进位,此时按动手动脉冲开关,则进位标志灯亮,表示有进位。
✧使开关CN=1,当S3、S2、S1、S0状态为10010,则相加的结累ALU=FF,并
且不产生进位。
●原来有进位,即CY=1,进位灯亮。
此时不考虑CN的状态,再来进行带进位
算术运算。
同样步骤(2)参与运算的两个数为55H和AAH,当S3、S2、S1、S0、M状态为10010,此时输出数据总线显示灯上显示的数据为DRl加DR2再加当前进位标志CY,相加的结果同样为ALU=00,并且产生进位,此时按动手。
计算机专业基础综合计算机组成原理(数据的表示和运算)历年真题试卷汇编1

计算机专业基础综合计算机组成原理(数据的表示和运算)历年真题试卷汇编1(总分:84.00,做题时间:90分钟)一、单项选择题(总题数:35,分数:70.00)1.定点补码加减法运算中,当运算结果出现____时,表示运算结果负溢出。
【华中科技大学2002年】A.符号位为00B.符号位为01C.符号位为10 √D.符号位为11考查双符号位时溢出的判别。
两个符号位不同时,表示溢出,此时最高位符号位代表真实符号。
2.采用变形补码判溢出,当发生正溢出时,其两位符号位为____。
【国防科技大学2002年】A.0B.1 √C.10D.11考查双符号位时溢出的判别。
原理同上题。
3.在定点运算器中,无论采用双符号位还是单符号位,必须有____。
【上海大学2001年】A.译码电路,它一般用与非门来实现B.编码电路,它一般用或非门来实现C.溢出判断电路,它一般用异或门来实现√D.移位电路,它一般用与或非门来实现考查溢出判别所需硬件配置。
三种溢出判别方法,均必须有溢出判别电路,可用异或门来实现。
4.在原码不恢复余数除法(又称原码加减交替法)的算法中,____。
【哈尔滨工程大学2004年】A.每步操作后,若不够减,则需恢复余数B.若为负商,则恢复余数C.整个算法过程中,从不恢复余数√D.仅当最后一步不够减时,才恢复一次余数考查原码不恢复余数除法。
5.在补码一位乘中,若判断位Y n Y n+1 +1=10,则应执行的操作是____。
【电予科技大学1996年】【上海大学1998年】A.原部分积加[X] 补,然后右移一位√B.原部分积加[X] 补,然后右移一位C.原部分积加[X] 补,然后左移一位D.原部分积加[X] 补,然后左移一位考查补码一位乘。
6.实现N位(不包括符号位)补码一位乘时,乘积为____位。
【西安电子科技大学2007年】A.NB.N十1C.2N √D.2N+1考查补码一位乘。
补码一位乘法运算过程中一共向右移位N次,加卜原先的N位,一共是2N位数值位。
补码运算加减乘除原理

首先我们来看为什么要使用补码运算法:因为人脑可以知道第一位是符号位, 在计算的时候我们会根据符号位, 选择对真值区域的加减. (真值的概念在本文最开头). 但是对于计算机, 加减乘数已经是最基础的运算, 要设计的尽量简单. 计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了.于是人们开始探索将符号位参与运算, 并且只保留加法的方法. 首先来看原码:计算十进制的表达式: 1-1=01 - 1 = 1 + (-1) = [00000001]原 + [10000001]原 = [10000010]原 = -2如果用原码表示, 让符号位也参与计算, 显然对于减法来说, 结果是不正确的.这也就是为何计算机内部不使用原码表示一个数.为了解决原码做减法的问题, 出现了反码:计算十进制的表达式: 1-1=01 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原= [0000 0001]反 + [1111 1110]反= [1111 1111]反 = [1000 0000]原 = -0发现用反码计算减法, 结果的真值部分是正确的. 而唯一的问题其实就出现在"0"这个特殊的数值上.虽然人们理解上+0和-0是一样的, 但是0带符号是没有任何意义的. 而且会有[0000 0000]原和[1000 0000]原两个编码表示0.于是补码的出现, 解决了0的符号以及两个编码的问题:1-1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [0000 0001]补 + [1111 1111]补= [0000 0000]补=[0000 0000]原这样0用[0000 0000]表示, 而以前出现问题的-0则不存在了.而且可以用[1000 0000]表示-128:接下来我们来看补码运算原理:在计算机里,如果我们要计算5-3的值,我们既可以用5减去3,也可以用5加上13。
【计算机组成原理】课后答案--薛胜军版

计算机组成原理答案薛胜军版1.1计算机是一种能自动地、高速地对各种数字化信息进行运算处理的电子设备。
1.2冯诺依曼计算机体系结构的基本思想是存储程序,也就是将用指令序列描述的解题程序与原始数据一起存储到计算机中。
计算机只要一启动,就能自动地取出一条条指令并执行之,直至程序执行完毕,得到计算结果为止。
按此思想设计的计算机硬件系统包含:运算器、控制器、存储器、输入设备和输出设备。
各部分的作用见教材:P10—P121.3计算机的发展经历了四代。
第一代:见教材P1第二代:见教材P2第三代:见教材P2第四代:见教材P21.4系统软件定义见教材:P12—13,应用软件定义见教材:P121.5见教材:P14—151.6见教材:P111.7见教材:P6—81.8硬件定义见教材:P9软件定义见教材:P12固件定义见教材:P131.91)听觉、文字、图像、音频、视频2)图像、声音、压缩、解压、DSP1.10处理程度按从易到难是:文本→图形→图像→音频→视频2.1各数的原码、反码、补码和移码见下表:十进制数真值二进制数真值原码表示反码表示补码表示移码表示1)--35/64 --0.1000110 1.1000110 1.01110011.0111010.0111012)23/128 0.0010111 0.0010111 0.00101110.00101111.00101113)--127 --01111111 11111111 10000000 10000001 000000014) 小数表示—1 --1.0000000 ———— 1.0000000 0.000000 0整数表示—1 --00000001 10000001 11111110 11111111 011111112.227/64=00011011/01000000=0.0110110=0.11011×2-1规格化浮点表示为:[27/64]原=101,011011000[27/64]反=110,011011000[27/64]补=111,011011000同理:--27/64=--0.11011×2-1规格化浮点表示为:[27/64]原=101,111011000[27/64]反=110,100100111[27/64]补=111,1001010002.3 模为:29=10000000002.4 不对,8421码是十进制的编码2.5浮点数的正负看尾数的符号位是1还是0浮点数能表示的数值范围取决于阶码的大小。
计算机组成原理习题集 (1)

《计算机组成原理》练习题适用于计算机专业本科生第一章概论一、选择题01. 电子计算机主存内的ROM是指 D 。
A.不能改变其内的数据B.只能读出数据,不能写入数据C.通常用来存储系统程序D.以上都是02. 有些计算机将一部分软件永恒地存于只读存储器中,称之为 C 。
A.硬件B.软件C. 固件D.辅助存储03. 如果要处理速度、温度、电压等连续性数据可以使用 B 。
A.数字计算机B.模拟计算机C.混合计算机D.特殊用途计算机04. 邮局把信件进行自动分拣,使用的计算机技术是 C 。
A.机器翻译B.自然语言理解C.模式识别D.过程控制05. 冯.诺伊曼机工作方式的基本特点是 B 。
A.多指令流单数据流B.按地址访问并顺序执行指令C.堆栈操作D.存储器按内容选择地址。
06. 某寄存器中的值可能是操作数,也可能是地址,只有计算机的 C 才能识别它。
A.译码器B.判断程序C.指令D.时序信号。
07. 80年代以来,许多国家开始研究第五代计算机,这种计算机系统是 B 。
A.超高速巨型计算机系统B.知识信息处理系统C.大型分布式计算机系统D.超级微型计算机群组成的计算机网。
08. 计算机的算逻单元的控制单元合称为 C 。
A.ALUB.UPC.CPUD.CAD09. 磁盘驱动器读写数据的基本存取单位为 D 。
A.比特B.字节C.磁道D.扇区二、填空题01. 计算机硬件是指计算机系统中实际物理装置的总称,软件是指控制整个计算机硬件系统工作的程序集合,固件是指具有某软件功能的硬件,一般用ROM实现。
02. 数控机床是计算机在过程控制方面的应用。
03. 人工智能研究用计算机模拟人类智力活动的有关理论与技术,模式识别研究用计算机对物体、图像、语言、文字等信息进行自动识别。
04. 数字计算机用来处理离散的数据,而模拟计算机用来处理连续性的数据。
05.存储器可分为主存和辅存,程序必须存于主存内,CPU才能执行其中的指令。
第二章计算机中的信息编码一、选择题01. 对真值0表示形式唯一的机器数是 B 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理
第三章运算方法与运算器3.4 补码一位乘法
1补码一位乘法的基本方法
设[X]补= X0X1X2X3…X n[Y]补= Y0Y1Y2Y3…Y n
可证明:
[X⋅Y]补= [X]补•( 0.Y1Y2Y3…Yn) –Y0• [X]补
进一步展开合并后可得:
n
[x•y]补=[x] 补•∑(y i+1-y i)2-i (符号位参加运算)
i=0
1补码一位乘法的基本方法
[x•y] 补=[x] 补• (y i+1-y i)2-i (符号位参加运算)
补码一位乘法的运算规则如下:
(1)如果y n+1=y n,部分积加0,部分积算术右移1位;
(2)如果y n+1y n=10,部分积加[x]补,部分积算术右移1位;
(3)如果y n+1y n=01,部分积加[-x]补,部分积算术右移1位.
重复进行n+1步,但最后一步不移位。
包括一位符号位,所得乘积为2n+1位,其中n为数据位位数.
1补码一位乘法的基本方法
几个特殊问题的处理
[x •y] 补=[x] 补• (y i+1-
y i )2-i (符号位参加运算) 设[X]补= X 0X 1X 2X 3…X n [Y]补= Y 0Y 1Y 2Y 3…Y n
(1)i=n 时,y n+1=?(2)y n+1是哪个寄存器?
(3)算术右移的对象有哪些?y n+1=0
在乘数寄存器Y 后增加的一位部分积和乘数寄存器均右移
2补码一位乘法的举例
例1 已知X= +1101 Y=+1011 用补码一位乘法求X⨯Y
解:[X]补=01101 [Y]补=01011 [–X]补=10011
部分积乘数说明
000000 010110Y n+1< Y n部分积+[–X]补
+ 110011
110011
→111001101011结果右移一位,Y n+1= Y n部分积+0
+ 000000
111001
→111100 110101结果右移一位, Y n+1> Y n部分积+[X]补
+ 001101
001001
2补码一位乘法的举例
部分积乘数说明
→000100 111010将结果右移一位, Y n+1< Y n部分积+[–X]补
+ 110011
110111
→111011 111101将结果右移一位, Y n+1> Y n部分积+[X]补
+ 001101
001000
∴[X⋅Y]补=010001111
∴X⋅Y= 010001111。