2.1各数原码、反码、补码和移码见下表
计算机组成原理课后答案(第三版·白中英)

计算机组成原理各章答案(白中英·第三版)第一章答案1.比较数字计算机和模拟计算机的特点。
解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。
两者主要区别见P1 表1.1。
2.数字计算机如何分类?分类的依据是什么?解:分类:数字计算机分为专用计算机和通用计算机。
通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。
分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。
3.数字计算机有那些主要应用?4.冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。
存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。
主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。
5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。
单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。
数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。
指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。
6.什么是指令?什么是程序?解:指令:计算机所执行的每一个基本的操作。
程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。
7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。
正码、补码、反码、移码

正码、补码、反码、移码数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制。
数在计算机中是以二进制形式表示的。
数分为有符号数和无符号数。
原码、反码、补码都是有符号定点数的三种表示方法。
一个有符号定点数的最高位为符号位,0是正,1是负。
原码:一个整数,按照绝对值大小转换成的二进制。
可在前方填“0”或“1”,“0”表示正,“1”表示负,即最高位为符号位,其余位表示数值的大小。
原码能表示数值的范围为 (-127~-0 +0~127)共256个.反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
即:正数:原码=反码=补码负数:反码=原码每位取反(符号位除位)补码=反码+1(如果+1之后有进位的,要一直往前进位,包括符号位)1、原码、反码和补码的表示方法(1)原码:在数值前直接加一符号位的表示法。
例如:符号位数值位[+7]原= 0 0000111 B[-7]原= 1 0000111 B真值0的原码和反码表示不唯一,而补码表示是唯一的[+0]原=000...0,[-0]原=100 0[+0]反=000...0,[-0]反=111 (1)[+0]补=[-0]补=000 0[+0]原=00000000B [-0]原=10000000B[+0]反=00000000B [-0]反=11111111了[+0]补=000…0B [10000000]补=[10000000]反+1=11111111+1=(1)00000000 =00000000(最高位溢出了,符号位变成了0)补码在微型机中是一种重要的编码形式,请注意:a.采用补码后,可以方便地将减法运算转化成加法运算,运算过程得到简化。
正数的补码即是它所表示的数的真值,而负数的补码的数值部份却不是它所表示的数的真值。
计算机组成原理第六章答案

1. 写出下列各数的原码、反码、补码、移码(用8位二进制表示),其中MSB是最高位(符号位),LSB是最低位。
如果是小数,则小数点在MSB之后;如果是整数,则小数点在LSB之后。
(1)-59/64 (2)27/128 (3)-127/128(4)用小数表示-1(5)用整数表示-1 (6)-127 (7)35 (8)-1282. 设[x]补=x0.x1x2x3x4,其中x i取0或1,若要使x>-0.5,则x0、x1、x2、x3、x4的取值应满足什么条件?3. 若32位定点小数的最高位为符号位,用补码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为;若32位定点整数的最高位为符号位,用原码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为。
4. 若机器字长为32位,在浮点数据表示时阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码用移码表示,尾数用原码表示,则该浮点数格式所能表示的最大正数为,最小正数为,最大负数为,最小负数为。
5. 某机浮点数字长为18位,格式如图2.35所示,已知阶码(含阶符)用补码表示,尾数(含数符)用原码表示。
(1)将(-1027)10表示成规格化浮点数;(2)浮点数(0EF43)16是否是规格化浮点数?它所表示的真值是多少?图2.35 浮点数的表示格式6. 有一个字长为32位的浮点数,格式如图2.36所示,已知数符占1位;阶码占8位,用移码表示;尾数值占23位,尾数用补码表示。
图2.36 浮点数的表示格式请写出:(1)所能表示的最大正数;(2)所能表示的最小负数;(3)规格化数所能表示的数的范围。
7. 若浮点数x的IEEE754标准的32位存储格式为(8FEFC000)16,求其浮点数的十进制数值。
8. 将数(-7.28125)10转换成IEEE754标准的32位浮点数的二进制存储格式。
9. 已知x=-0.x1x2…x n,求证:[x]补=+0.00…01。
二进制5位数原码、补码、反码表

原码、补码和反码是在计算机中常用的一种数据表示方式。
在这种表示方式中,正数和负数均采用二进制形式表示,通过一定的规则进行转换。
本文将以二进制5位数为例,对原码、补码和反码进行详细介绍和表格展示。
一、二进制5位数原码、补码、反码定义1.1 原码定义原码是最简单的一种表示方式,它的规则是:正数的原码就是其二进制形式,负数的原码是在正数原码的基础上将最高位(符号位)变为1。
+2在5位二进制数中的原码是xxx,-2在5位二进制数中的原码是xxx。
1.2 补码定义补码是计算机中常用的一种表示方式,它的规则是:正数的补码就是其二进制形式,负数的补码是将其绝对值的原码按位取反然后加1。
+2在5位二进制数中的补码是xxx,-2在5位二进制数中的补码是xxx。
1.3 反码定义反码是原码的一种变换形式,它的规则是:正数的反码就是其二进制形式,负数的反码是将其绝对值的原码按位取反。
+2在5位二进制数中的反码是xxx,-2在5位二进制数中的反码是xxx。
二、二进制5位数原码、补码、反码表以下是以二进制5位数为例的原码、补码和反码一览表:原码补码反码xxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxxxxx xxx xxx三、总结通过以上原码、补码和反码的定义和表格展示,我们可以清楚地了解二进制5位数的原码、补码和反码之间的转换规则和关系。
原码、反码、补码、移码,阶码如何表示?

原码、反码、补码、移码,阶码如何表⽰?
举例:[+45]原=00101101 -45=10101101 (以下所有例⼦都为这两个数的变换)
原码:
原码表⽰法在数值前⾯增加了⼀位符号位(即最⾼位为符号位):正数该位为0,负数该位为1(0有两种表⽰:+0和-0),其余位表⽰数值的⼤⼩。
举例:[+45]原=00101101 [-45]原=10101101
反码:反码是数值存储的⼀种,但是由于补码更能有效表现数字在计算机中的形式,所以多数计算机⼀般都不采⽤反码表⽰数。
反码表⽰法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
举例:[+45]反=00101101 [-45]反=11010010
补码:在计算机系统中,数值⼀律⽤补码来表⽰和存储。
原因在于,使⽤补码,可以将符号位和数值域统⼀处理;同时,加补码:
法和减法也可以统⼀处理。
此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
反码表⽰法规定:正数的补码与其原码相同;⼀种简单的⽅式,符号位保持1不变,数值位从右边数第⼀个1及其右边的0保持不变,左边按位取反。
也可以从反码推补码,就是在反码的基础上加1。
举例:[+45]补=00101101 [-45]补=11010011
移码:
移码(⼜叫增码)是符号位取反的补码,⼀般⽤做浮点数的阶码,引⼊的⽬的是为了保证浮点数的机器零为全0。
这个不分正负。
举例:[+45]移=10101101 [-45]移=01010011。
计算机组成原理(薛胜军)课后习题答案第三版(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,分别控制接受行地址和列地址。
原码,反码,补码,移位

原码,反码,补码,移位复习下⼆进制的有关知识1.所有的数据都是以⼆进制的形式存储在硬盘上。
对于⼀个字节的8位到底是什么类型计算机是如何分辨的呢? 其实计算机并不负责判断数据类型,数据类型是程序告诉计算机该如何解释内存块.2.对于字符的存储,先将字符转化成其字符集的码点,(码点就是⼀个数字),然后把该数字转成2进制存储。
所以我们只要记得数字的存储就ok了。
字符的码点程序采⽤⽆符号处理,即没有符号位,数值型默认都是有符号位的。
1个字节的最⾼位是符号位所以⼀个数字能够存储的范围是-128-1273.原码正数5: 0000 0101负数5: 1000 01014.反码正数5: 0000 0101负数5: 1111 10105.补码正数5: 0000 0101负数5: 1111 1011(-5在硬盘上的存储⽅式)1.可以看到正数的原码与其反码补码相同2.负数的原码最⾼位为13.负数的反码:符号位不变,其余各位按位取反4.负数的补码:在其反码的基础上+15.负数是以其补码的⽅式存储在硬盘上的6.左移操作(<<)规则:右边空出的位⽤0填补⾼位左移溢出则舍弃该⾼位。
计算机中常⽤补码表⽰数据:数据127,补码和原码⼀样:01111111。
左移⼀位: 1111 1110 -> 这个补码对应的原码为:1000 0010 对应⼗进制:-2左移⼆位: 1111 1100 -> 这个补码对应的原码为:1000 0100 对应⼗进制:-4左移三位: 1111 1000 -> 这个补码对应的原码为:1000 1000 对应⼗进制:-8左移四位: 1111 0000 -> 这个补码对应的原码为:1001 0000 对应⼗进制:-16左移五位: 1110 0000 -> 这个补码对应的原码为:1010 0000 对应⼗进制:-32左移六位: 1100 0000 -> 这个补码对应的原码为:1100 0000 对应⼗进制:-64左移七位: 1000 0000 -> 这个补码对应的原码为:1000 0000 对应⼗进制:-128左移⼋位: 0000 0000 -> 这个补码对应的原码为:0000 0000 对应⼗进制:0注:原码到补码的计算⽅式:取反+1,补码到原码的计算⽅式:-1再取反。
CH02-1 运算方法-二进制数据表示,定点加法,溢出判断(2.1-2.4.5,附录,2.10)

2.2.2 补码表示法
1.概念与定义 例:先分析两个10进制数的运算 58-35=23 58+65=123 =100+23 如果使用两位10进制的运算器,在做加法58+65 时,结果中的100超出了该运算器的表示范围,将会 被自动舍去,运算器只能表示出结果23。在做减法 58-35时,若用加法58+65能得到同样的结果23。
[x]补 =
5.补码的性质
(1)补码的最高位是符号位,在形式上同于原 码,0表示正,1表示负。但应注意,原码的 符号位是人为地定义0正1负;而补码的符号 位是通过有模运算得到的,它是数值的一部 分,可直接参与运算。 (2)正数的补码表示在形式上同于原码;而负数 的补码表示则不同于原码,可用负数原码求 补方法进行转换。
2.2.3 反码表示法
1.定点小数的反码表示 定义:反码表示法是用机器数的最高一位代表 符号,数值位是对负数值各位取反的表 示方法,其数学表达式为(定点小 数): x 0 ≤ x <1 ⎧ [x]反 = ⎨ (2 − 2− n ) + x − 1 < x ≤ 0 ⎩ 其中n代表数的位数(不包括符号位), 或者说字长是n+1位。
= 10.00L0 − 0.00L1 = 1.11L1
2.定点整数的反码表 示:
对定点整数,反码表示的定义是:
⎧ x [x]反 = ⎨ n +1 ⎩(2 − 1) + x 0≤ x<2
(1)真值0在原码表示中有两种形式,以定点整 数为例 [+ 0]原 = 0000 [− 0]原 = 1000 (2)原码表示的定点小数,其表示范围为
− 1 < x < 1, 即 x < 1
原码表示的定点整数,其表示范围为
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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”。