版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第 2 2 章章 运算方法和运算器运算方法和运算器主要内容:主要内容:l数据与文字的表示方法数据与文字的表示方法l定点的加、减法运算定点的加、减法运算l定点的乘法运算定点的乘法运算l定点的除法运算定点的除法运算l定点的运算器的组成定点的运算器的组成l浮点运算方法和浮点运算器浮点运算方法和浮点运算器2.1 2.1 数据与文字的表示方法数据与文字的表示方法2.1.1 2.1.1 二进制数二进制数数制的两大要素:数制的两大要素:基数基数R R:在某种进位制中允许使用的基本数码:在某种进位制中允许使用的基本数码个数。个数。基数为基数为R R的数制称为的数制称为R R进制数。进制数。 R R进制数进制
2、数的主要特点就是的主要特点就是逢逢R R进进1 1 。权权W Wi i:权也称位权,指某一位权也称位权,指某一位i i上的数码的权重上的数码的权重值,即权与数码所处的位置值,即权与数码所处的位置i i有关。有关。 W Wi i R Ri i。二进制数有下列特征:二进制数有下列特征:有个符号表示数:有个符号表示数:和。和。R R为为2 2。当计数时,每一位计到。当计数时,每一位计到2 2就往上进一位,即就往上进一位,即“逢二进一逢二进一”。在一串数字中,上一个位的权是下一位的两倍。在一串数字中,上一个位的权是下一位的两倍。对于整数,从右往左各位的权是对于整数,从右往左各位的权是1,2,4,8,
3、;对于小数,从左往右各位的权是对于小数,从左往右各位的权是1/2,1/4,1/8,1/16,1/32。同理,以同理,以1616为基数的数制叫十六进制数。为基数的数制叫十六进制数。1 1、二进制数的定义、二进制数的定义以以2为基数的数制叫二进制数为基数的数制叫二进制数2 2、不同数制的相互转换、不同数制的相互转换(1 1)二进制数转换成十进制数)二进制数转换成十进制数用十进制计数把二进制各位置的数按权展开用十进制计数把二进制各位置的数按权展开后相加即可。后相加即可。例例1 1 (1001.101)(1001.101)2 2 =1=1* *2 23 3+0+0* *2 22 2+0+0* *2 2
4、1 1+ +1 1* *2 20 0+ 1+ 1* *2 2-1-1+0+0* *2 2-2-2+1+1* *2 2-3-3 = 8+0+0+ = 8+0+0+1 1+0.5+0+0.125+0.5+0+0.125 =(9.625) =(9.625)1010(2 2)十进制数转换成二进制数)十进制数转换成二进制数 整数部分:整数部分:l除基取余法:除基取余法:采用将十进制数连续除以采用将十进制数连续除以提提取余数取余数的方法,提取的余数的方法,提取的余数依此为二进制的依此为二进制的低位、次低位高位低位、次低位高位。l减权定位法:减权定位法:依次依次与二进制权位比较与二进制权位比较,够减,够减的
5、为的为1,不够为,不够为0。例例2 2 求求(116)10的二进制数值:的二进制数值:(116)(116)1010=(1110100)=(1110100)2 2小数部分:小数部分:l乘基取整法:乘基取整法:采用将十进制小数部分连续乘采用将十进制小数部分连续乘以提取乘积中整数的方法,提取的整数依以提取乘积中整数的方法,提取的整数依此是小数部分的最高位、次高位此是小数部分的最高位、次高位l减权定位法减权定位法例例3 3 求求(0.625)(0.625)1010二进制数值:二进制数值:故(故(0.625)0.625)1010=(0.101)=(0.101)2 2有时会出现小数部分总不为零的情况,如有
6、时会出现小数部分总不为零的情况,如(0.6)10=(0.100110011)2这时这时转换过程的结束由转换过程的结束由所要求的转换精度确定。所要求的转换精度确定。(3 3)二进制数转换成十六进制数)二进制数转换成十六进制数从小数点往左或往右每位一组地划分,不足从小数点往左或往右每位一组地划分,不足位整数部分在前面补,小数部分在后面补,位整数部分在前面补,小数部分在后面补,然后将每位写出其对应的十六进制数即可。然后将每位写出其对应的十六进制数即可。例例4 4 (11011011.01011)(11011011.01011)2 2 =( =(11011101 10111011. .01010101
7、 10001000) )2 2 =(DB.58) =(DB.58)1616(4 4)十六进制数转换成二进制数)十六进制数转换成二进制数直接将每位十六进制数写成位二进制数即可直接将每位十六进制数写成位二进制数即可。例例5 5 (3(3F F5.A5.A8 8C)C)1616 =(0011 =(0011 11111111 0101.1010 0101.1010 1000 1000 1100)1100)2 2数据的表示数据的表示真值:真值:根据书写习惯,用正负号加绝对值表示根据书写习惯,用正负号加绝对值表示的数值。的数值。一般用一般用X表示表示。机器数:机器数:计算机内使用的,便于机器处理的数计算机
8、内使用的,便于机器处理的数值,包括无符号数和有符号数。值,包括无符号数和有符号数。l 无符号数:整个机器字的全部二进制位均为数值无符号数:整个机器字的全部二进制位均为数值位,相当于数的绝对值位,相当于数的绝对值l 有符号数:将有符号数:将数的符号位一起数码化数的符号位一起数码化,符号位放,符号位放在有效数字的前面在有效数字的前面2.1.2 2.1.2 数据格式数据格式根据根据小数点的位置是否固定小数点的位置是否固定,计算机中常用,计算机中常用的数据表示格式有两种的数据表示格式有两种定点格式定点格式浮点格式浮点格式1 1、定点数的表示、定点数的表示p 定义:定义:约定机器中所有数据的约定机器中所
9、有数据的小数点位置小数点位置是固定不变的是固定不变的。通常将数据表示成。通常将数据表示成纯小数纯小数或或纯整数纯整数。设设n+1位定点数位定点数nn-1n-20 ,则则a a)定点整数格式定点整数格式b b)定点小数格式)定点小数格式定点整数:定点整数:用于表示纯整数,小数点位置隐含固用于表示纯整数,小数点位置隐含固定在最低位之后,定在最低位之后,最高位为符号位最高位为符号位。 机器字长为机器字长为n+1位,位,纯纯整数整数表示范围为:表示范围为:0|2n-1定点小数:定点小数:用于表示纯小数,用于表示纯小数,小数点小数点隐含隐含固定在固定在最高数据位的左边,最高数据位的左边,整数位则用于表示
10、符号位整数位则用于表示符号位。 机器字长为机器字长为n+1位,位,纯小数的表示范围为:纯小数的表示范围为: 0|1-2-n2 2、浮点数的表示、浮点数的表示p浮点表示法:浮点表示法:数的计阶表示方法,把数的范围和数的计阶表示方法,把数的范围和精度分开表示的方法,小数点的位置随阶数的不精度分开表示的方法,小数点的位置随阶数的不同而浮动。同而浮动。设任意一个进制数设任意一个进制数 用计阶法表示为:用计阶法表示为: e.其中,其中, :尾数,规定是一个纯小数,且计算机中一般:尾数,规定是一个纯小数,且计算机中一般约定为最高有效位为约定为最高有效位为1 ,称为,称为规格化规格化。 e :指数,是一个整
11、数,计算机中称为:指数,是一个整数,计算机中称为阶码阶码。 R :比例因子的基数,计算机中一般为:比例因子的基数,计算机中一般为2,隐含表,隐含表示。则计算机中浮点数可以表示为:示。则计算机中浮点数可以表示为:Es Em-1 Em-2 E1 E0Ms Mn-1 Mn-2 M1 M0p 实用浮点数格式实用浮点数格式:以以3232位浮点数为例位浮点数为例:浮点数的符号位浮点数的符号位,1 1 位位,0 0表示正数,表示正数,1 1表示表示负数。负数。:尾数尾数,2323位位,小数点放在尾数域的最前面。,小数点放在尾数域的最前面。:阶码,阶码,8 8 位位。则则一个一个非规格化非规格化的的32位浮点
12、数位浮点数的真值可表示为:的真值可表示为: (1)s(0.)2 规格化浮点数规格化浮点数:当尾数值不为当尾数值不为0 0时,在用时,在用原码表示尾数原码表示尾数的情况的情况下,下,尾数域最高位必须为尾数域最高位必须为1 1,即即|M|=0.5|M|=0.5若用若用补码表示尾数补码表示尾数, 正数,尾数最高位为正数,尾数最高位为1 1,如,如0.10110.1011 负数,尾数最高位为负数,尾数最高位为0 0,如,如1.00101.0010例如,例如,0.0010010.1001*2-2例如,例如,0.0010010.1001*2-2阶码阶码E一般使用一般使用移码移码表示。若表示。若E共占共占k
13、位,则位,则有有E=e+2k-1,e表示真值表示真值注意,此时注意,此时E为阶码的存储形式,为阶码的存储形式,e为阶码真为阶码真值值例如,例如,e=-2E=(-2)+128=126p 实用浮点数格式实用浮点数格式: IEEE754IEEE754标准标准3232位表示法:位表示法:6464位表示法:位表示法:浮点数的符号位浮点数的符号位,1 1 位位,0 0表示正数,表示正数,1 1表示负表示负数。数。:尾数尾数,2323或或5252位位,用,用规格化小数规格化小数表示,小数点表示,小数点放在尾数域的最前面,小数点前第放在尾数域的最前面,小数点前第1 1位位1 1隐含。隐含。:阶码阶码(8 (8
14、 或或1111位位) ),采用,采用隐含移码隐含移码方式来表示。方式来表示。 E=e+2E=e+2k-1k-1-1 E=eE=e(真值)(真值)+127/1023+127/1023则在则在IEEE754标准下标准下一个规格化的一个规格化的32位浮点数位浮点数的的真值可表示为:真值可表示为: (1)s(1.)2127 一个规格化的一个规格化的64位浮点数位浮点数的真值为的真值为 (1)s(1.)21023 p 754754标准浮点数标准浮点数数值范围的一些特殊情况:数值范围的一些特殊情况:l当一个浮点数的尾数为当一个浮点数的尾数为0 0时,不论其阶码为何值,时,不论其阶码为何值,或或当阶码的值遇
15、到比机器能表示的最小值还小时,当阶码的值遇到比机器能表示的最小值还小时,不管其尾数为何值,不管其尾数为何值,计算机都把该浮点数看成零,计算机都把该浮点数看成零,称为机器零称为机器零。l当阶码当阶码E E全为全为0 0且尾数且尾数M M全为全为0 0时,表示的真值时,表示的真值x x为为0 0;l当阶码当阶码E E全为全为1 1且尾数且尾数M M全为全为0 0时,表示的真值时,表示的真值x x为无为无穷大。穷大。l对对3232位的规格化浮点数,阶码位的规格化浮点数,阶码E E的范围为的范围为1 1到到254254,故故3232位浮点数的真正指数值位浮点数的真正指数值e e为为-126127-12
16、6127例例6 6 若浮点数若浮点数的的754754标准存储格式为标准存储格式为(41360000)(41360000)1616,求其浮点数的十进制数值。,求其浮点数的十进制数值。 (P18P18例例1 1)解解: : 十六进制数展开后,可得二进制数格式为十六进制数展开后,可得二进制数格式为 0 0 100 0001100 0001 0 0011 0110 0000 0000 0000 011 0110 0000 0000 0000 0000 0000 则,指数则,指数e e阶码阶码127127 10000010100000100111111101111111 00000011=(3)0000
17、0011=(3)1010 尾数为:尾数为:1.1.M M1.011 0110 0000 0000 0000 1.011 0110 0000 0000 0000 00000000 1.0110111.011011 浮点数为:浮点数为: ( (1)1)s s1.1.M M2 2e e (1.011011)(1.011011)2 23 3 1011.0111011.011(11.375)(11.375)1010 例例7 7 将将(20.59375)(20.59375)1010转换成转换成754754标准的标准的3232位浮点数位浮点数的二进制存储格式的二进制存储格式 。 (P18例例2)解解: :
18、(20.5937520.59375)1010(10100.1001110100.10011)2 2 1.0100100111.0100100112 24 4则则 S S0 0, E Ee+127=4e+127=4127127131131, E = 10000011E = 10000011 M M0100100110100100113232位浮点数存储格式为:位浮点数存储格式为: 0 0 100 0001100 0001 1 1010 0100 1100 0000 0000 010 0100 1100 0000 0000 00000000 (41A4C000)(41A4C000)1616 p 浮
19、点数的表示范围浮点数的表示范围0最大最大负数负数最小最小正数正数最大最大正数正数最小最小负数负数正上溢正上溢负上溢负上溢正下溢正下溢负下溢负下溢Q:Q:浮点数的表示范围如何求得?浮点数的表示范围如何求得?数据下溢时,浮点数值趋于数据下溢时,浮点数值趋于0,计算机将其视,计算机将其视为机器为机器0处理;数据上溢时,计算机将其视为处理;数据上溢时,计算机将其视为无穷大无穷大 IEEE754 IEEE754标准标准 浮点数表示范围浮点数表示范围3232位表示法:位表示法:(float)6464位表示法位表示法(double):126231272(22)*2X10225210232(22)*2X2.1
20、.3 2.1.3 数的机器码表示数的机器码表示真值:用正负号加绝对值表示的数值。真值:用正负号加绝对值表示的数值。机器数:将数符一起数码化的数。常用机器数包机器数:将数符一起数码化的数。常用机器数包括括原码、补码、反码和移码原码、补码、反码和移码表示法。表示法。机器数形式的二进制位数因受机器数形式的二进制位数因受机器字长机器字长的限制,其的限制,其数的表示数的表示范围和精度相应受到限制范围和精度相应受到限制,无法表示时,无法表示时,便产生,便产生溢出溢出。例例8 8 真值:真值: +1011 +1011 -1011-1011 8 8位字长定点数位字长定点数: 0 0001011 1 : 0 0
21、001011 1 00010110001011 真值:真值: +0.1011 +0.1011 -0.1011-0.1011 8 8位字长定点数位字长定点数: 0 : 0 . .1011000 1 1011000 1 . .101100010110001 1、真值与机器数、真值与机器数2 2、原码表示法、原码表示法 XX原原p表示方法:表示方法:最高位表示数的符号,其他位表示数最高位表示数的符号,其他位表示数值位。值位。符号位:符号位:0 0正数,正数,1 1负数。负数。数值位:与绝对值相同。数值位:与绝对值相同。X=1011X=1011,Y Y10111011,则:,则:XX原原 ;YY原原
22、;X=0.1101X=0.1101,Y Y- 0.1101- 0.1101,则:,则:XX原原 ;YY原原 ;X=1011X=1011, Y Y- 0.1101- 0.1101,求,求X X和和Y Y的的8 8位原码位原码机器数。机器数。XX原原 ;YY原原 ;00原原?p 0 0 的表示:的表示:0 0 的原码表示有两种形式,的原码表示有两种形式,即分别按照正数和负数表示。即分别按照正数和负数表示。+0+0原原 000 000 -0 -0原原 100100p 表示范围:表示范围:对于对于n n1 1位原码机器数位原码机器数X X,它,它所能表示的数据范围为:所能表示的数据范围为: 整数:整数
23、: -(2n-1)X(2n-1)小数:小数: -(1-2-n)X(1-2-n)包括包括1位符号位,位符号位,n位数值位位数值位p定义:正数反码与原码相同,负数的反码定义:正数反码与原码相同,负数的反码将数将数除符号位外按位求反除符号位外按位求反。p反码的特点:反码的特点:0 0的反码也有两个,的反码也有两个, +0+0反反=00000000=00000000, -0-0反反=11111111=11111111。反码的数值范围与原码相同。反码的数值范围与原码相同。2 2、反码表示法、反码表示法XX反反p定义:把某数定义:把某数X加上模数加上模数M,称为以,称为以M为模的为模的X的补码。的补码。
24、X补补=(M+X)模模M。 机器内,字长为机器内,字长为n+1的整数模为的整数模为2n+1 ,小数的,小数的模为模为2。3 3、补码表示法、补码表示法 X补补p原码转化成补码方法:原码转化成补码方法:正数的补码与原码相同正数的补码与原码相同;负数时负数时:求得该数的反码,然后在末位加求得该数的反码,然后在末位加1 1。符号位不变,尾数部分自右向左,第一个符号位不变,尾数部分自右向左,第一个1 1及以前的各位及以前的各位0 0保持不变,以后的各位按位保持不变,以后的各位按位取反。取反。p补码转换成原码、真值方法:补码转换成原码、真值方法:正数的原码与补码相同;正数的原码与补码相同;负数时,符号位
25、不变,尾数先按位取反,然后负数时,符号位不变,尾数先按位取反,然后在末位加在末位加1 1。将原码的符号位用将原码的符号位用“+”+”、“-”-”号表示即为真号表示即为真值值上述转换不包括上述转换不包括-0-0及补码的负数最小值。及补码的负数最小值。例例9 设机器位长为设机器位长为8位,用补码表示位,用补码表示0.1001和和59 。 +0.1001补补= +0.1001000=0.1001000 -0.1001补补= 2 -0.1001000=1.0111000 +59补补= 00111011=00111011 -59补补= 28 -00111011=11000101 p 补码特点:补码特点:
26、可实现变减为加运算,且补码的可实现变减为加运算,且补码的符号位由计算获符号位由计算获得得。0 0的补码只有的补码只有一个一个,就是,就是n n位的零。位的零。 00补补= 2= 28 8 00000000=0000000000000000=00000000N+1N+1位字长补码的数值范围位字长补码的数值范围整数:整数: -2-2n nX X(2 2n n-1-1)小数:小数: -1-1X X(1-1-2 2-n-n)p 补码转换十进制真值的方法:补码转换十进制真值的方法:设补码形式为设补码形式为n nn-1n-11 10 0 。整数:整数:小数:小数:上述符号直接由运算得到上述符号直接由运算得
27、到1n0iinnx2x2xi01niin)-(inx2x) 1(x4 4、移码表示法、移码表示法 X移移p移码是在真值移码是在真值X X上加上一个常数(偏移量)上加上一个常数(偏移量),相当于,相当于X X在数轴上向正方向偏移了若干单在数轴上向正方向偏移了若干单位。通常,当字长为位。通常,当字长为n+1n+1时,这个偏移量取时,这个偏移量取2 2n n。p定义:计算机中对定义:计算机中对k+1k+1位字长的带符号数,位字长的带符号数,其真值其真值X X所对应的移码为所对应的移码为: : XX移移= 2= 2k k+X+X, - -2 2k kX X2 2k k-1-1。例例1010 求求8 8
28、位长位长5959的移码的移码 +59+59移移=10000000+111011=10111011=10000000+111011=10111011 -59 -59移移=10000000-111011=01000101=10000000-111011=01000101p 移码特点:移码特点:移码的符号位与原码、补码相反移码的符号位与原码、补码相反,1 1为正,为正,0 0为负为负。X X的移码和补码符号位相反其余位相同的移码和补码符号位相反其余位相同,故移码可故移码可以先求数的补码,再将符号取反即得以先求数的补码,再将符号取反即得。0 0的移码只有一个,的移码只有一个, 00移移=1000000
29、0=10000000。移码一般用于浮点数的阶码表示。移码一般用于浮点数的阶码表示。移码一般以整数形式出现,其数值范围与补码相移码一般以整数形式出现,其数值范围与补码相同。同。例例11 11 假设由假设由S S, ,E E, ,M M三个域组成的一个三个域组成的一个3232位二进制位二进制字所表示的字所表示的非零规格化浮点数非零规格化浮点数, ,真值表示为:真值表示为: ( (1)1)s s(1.(1.M M) )2 2E E128128问:它所表示的规格化的最大正数、最小正数、最问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?大负数、最小负数是多少? ( P23 P23例例
30、9 9)解解: : 阶码用移码表示,阶码用移码表示,8 8位;尾数用原码,位;尾数用原码,2323位位。(1)(1)最大正数最大正数 阶码阶码为最大正数,为最大正数, 尾数为最大正数尾数为最大正数存储码:存储码: 0 0 11 111 11111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 11111 111 11真值:真值: 11(1(12 2-23-23)2 2127127(2)(2)最小正数最小正数 阶码阶码为最小负数(绝对值最大)为最小负数(绝对值最大) , 尾数为最小正数尾数为最小正数 0 0 00 00000 00
31、0 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000 1.01.02 2128128(3)(3)最小负数(绝对值最大)最小负数(绝对值最大)阶码阶码为最大正数,为最大正数, 尾数为最小负数(绝对值最大)尾数为最小负数(绝对值最大) 1 1 11 111 11111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 1111 11(1(12 22323)2 2127127(4)(4)最大负数(绝对值最小)最大负数(绝对值最小)阶码阶
32、码为最小负数(绝对值最大)为最小负数(绝对值最大) , 尾数为最大负数尾数为最大负数(绝对值最小)(绝对值最小) 1 1 00 000 00000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000 1.01.02 2128128 美国国家信息交换标准代码,简称美国国家信息交换标准代码,简称ASCIIASCII码码7 7位二进制编码位二进制编码, ,能表示能表示2 27 7=128=128种国际上最通用的种国际上最通用的西文文字。西文文字。ASCIIASCII码包括类最常用的字符。码包括类最常用的字符。n数字
33、:包括数字:包括09 1009 10个数字字符。个数字字符。n通用字符:通用字符:“”、“”、“”、“”、“”等共等共3232个。个。n字母:包括字母:包括2626个大写字母和个大写字母和2626个小写字母。个小写字母。n控制字符:包括空格、回车、换行控制字符:包括空格、回车、换行等共等共3434个。个。ASCIIASCII编码有一定的规律。编码有一定的规律。2.1.4 2.1.4 字符与字符串的表示方法字符与字符串的表示方法2022-5-2高高3位位低低4位位0000010100111001011101110000NULDLESP0P、p0001SOHDC1!1AQaq0010STXDC2“
34、2BRbr0011ETXDC3#3CScs0100EOTDC4DC4$ $4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?O-oDEL输入码输入码数字码数字码拼音码拼音码字形码字形码机内码机内码输出码输出码点阵式点阵式矢量式矢量式2.1.5 2.1.5 汉字的表示方法汉字的表示方法输入码、机内码和输输入码、机内码和输出码是计算机中出码是计算机中用于用于输入、内部处理和输输入、内部处理和
35、输出三种不同用途的编出三种不同用途的编码码。校验的方法是让写入的信息符合校验的方法是让写入的信息符合某种规律某种规律,在,在读出读出时检验时检验信息是否符合这一规律,如符合可判定读出信息是否符合这一规律,如符合可判定读出信息正确,否则有误。信息正确,否则有误。目前使用的校验方法常采用目前使用的校验方法常采用冗余校验思想冗余校验思想,即:,即:有效信息位有效信息位+ +校验位校验位校验码校验码译码纠错译码纠错2.1.6 2.1.6 校验技术校验技术 奇偶校验码奇偶校验码 例如:待编有效信息例如:待编有效信息 1011000110110001编码规则:编码规则:校验码校验码有效信息位有效信息位+1
36、+1位校验位位校验位奇校验码奇校验码 10110001101100011 1 约定校验码中约定校验码中1 1的个数为奇数的个数为奇数/ /偶数。偶数。偶校验码偶校验码 10110001101100010 0 校验位公式:校验位公式:C C0 01 1n n1 1。( (偶偶) )0 01 1n n1 1。(奇)。(奇)C偶校验判错实现电路偶校验判错实现电路奇偶校验实现简单,但缺点是奇偶校验实现简单,但缺点是不能纠错、无法不能纠错、无法检测出偶数个错误检测出偶数个错误。其他校验方式如循环冗余校验码其他校验方式如循环冗余校验码(CRC)可以实可以实现纠错。现纠错。2.2 2.2 定点加法、减法运算
37、定点加法、减法运算2.2.1 2.2.1 补码加法补码加法补码加法规则补码加法规则两个相加的数无论正负,其和的补码等于两数补码两个相加的数无论正负,其和的补码等于两数补码之和:之和:X+YX+Y补补=X=X补补+Y+Y补补例例12 12 设设X=+1001X=+1001,Y=+0101Y=+0101,用补码求,用补码求Z=X+YZ=X+Y。 解:解:XX补补=01001=01001,YY补补=00101=00101; X+YX+Y补补= X= X补补+Y+Y补补 = = 01001+00101=0111001001+00101=01110 故:故:X+Y=01110X+Y=01110( P27
38、例例11)例例13 13 设设X=0.1001X=0.1001,Y=-0.0101Y=-0.0101,用补码求,用补码求Z=X+YZ=X+Y。 解:解:XX补补=0.1001=0.1001,YY补补=1.1011=1.1011; X+YX+Y补补= X= X补补+Y+Y补补 = = 0.1011+1.10110.1011+1.1011 = 0.0110 = 0.0110 故:故:X+Y=+0.011X+Y=+0.0112.2.2 2.2.2 补码减法补码减法补码减法规则补码减法规则两个相减的数无论正负:两个相减的数无论正负:XXYY补补= X+(-Y)= X+(-Y)补补XX补补+-Y+-Y补
39、补例例14 14 1101,1101,0110,0110,求求- -。解解: : 补补01101 01101 补补00110,00110, 补补1101011010 补补 0110101101 补补 1101011010 补补 1 10011100111 X- X-01110111( P28例例14)注意:注意:-Y-Y补补为为YY补补的机器负数的机器负数, ,转换方法转换方法: :将连同将连同符号位一起变反符号位一起变反, ,末位加末位加1 1。补码加减运算规则小结补码加减运算规则小结参加运算的操作数用补码表示。参加运算的操作数用补码表示。符号位参加运算。符号位参加运算。若指令操作码为加,则
40、两数直接相加;若若指令操作码为加,则两数直接相加;若操作码为减,则将减数连同符号位一起变操作码为减,则将减数连同符号位一起变反加反加1 1后再与被减数相加。后再与被减数相加。 运算结果用补码表示。运算结果用补码表示。例例15 15 1011, 1011, 1001,1001,求求。 解解: 补补01011 01011 补补0100101001 补补0 010111011 补补0 01001 1001 补补1 10100 0100 ( P28例例15)两个正数相加的结果成为负数两个正数相加的结果成为负数, ,这显然是错误的。这显然是错误的。如何解决?如何解决?2.2.3 2.2.3 溢出判断溢出
41、判断p基本规律:基本规律:两个异号数相加或两个同号数相减不两个异号数相加或两个同号数相减不会发生溢出;只有会发生溢出;只有两个同号数相加两个同号数相加或或两个异号数相两个异号数相减减才可能才可能发生溢出发生溢出。 正溢正溢:运算结果为正且大于所能表示的最大正:运算结果为正且大于所能表示的最大正数;数; 负溢负溢:运算结果为负且小于所能表示的最小负:运算结果为负且小于所能表示的最小负数;数;p 溢出判断法:溢出判断法:采用一个符号位判断(采用一个符号位判断(最高有效位判断法最高有效位判断法)采用双符号位法(采用双符号位法(变形补码法变形补码法)1 1、单、单符号位(符号位(最高有效位)判断法最高
42、有效位)判断法 两个补码数相加、减时,两个补码数相加、减时,若最高数值位向符号若最高数值位向符号位送的进位值与符号位送向更高位进位不相同位送的进位值与符号位送向更高位进位不相同,则,则运算结果运算结果溢出溢出。溢出的逻辑表达式为:溢出的逻辑表达式为:00CCCCVff此逻辑表达式可用异或门实现此逻辑表达式可用异或门实现2 2、双符号位法(双符号位法(变形补码法变形补码法,模模4补码法补码法)变形补码定义:变形补码定义: xx补补=2=2n+2n+2+x+xl变形补码的符号用两位来表示,变形补码的符号用两位来表示,正数为正数为0000,负数,负数为为1111。l变形补码的两个符号位都可以参与运算
43、,运算结变形补码的两个符号位都可以参与运算,运算结果根据两个符号位是否一致来判断是否溢出。果根据两个符号位是否一致来判断是否溢出。溢出的逻辑表达式:溢出的逻辑表达式:2121ffffSSSSV“01”表示正溢,表示正溢,“10”表示负溢,表示负溢,最高符号永远最高符号永远表示结果的正确符号。表示结果的正确符号。例例16 16 01100, 01100, 01000,01000,求。求。解解: : 补补00001100,1100, 补补000010001000 补补00 110000 1100 补补00 100000 1000 0101 0100 0100两个符号位不一致两个符号位不一致, ,结
44、果溢出。结果溢出。例例17 17 0.1100, 0.1100, -0.1000,-0.1000,求。求。解解: : 补补1111.0100,.0100, 补补1111.1000.1000 补补11.010011.0100 补补11.100011.1000 1010.1100.1100两个符号位不一致两个符号位不一致, ,结果溢出。结果溢出。( P28例例17)2.2.4 2.2.4 基本的二进制加减法器基本的二进制加减法器1 1、1 1位加法器设计位加法器设计FASiAiBiCiCi+1输入输入输出输出Ai Bi CiS Si i C Ci+1i+1 0 0 00 0 10 1 00 1 1
45、1 0 01 0 11 1 01 1 10 01 01 00 11 00 10 11 1iiiiiiiiiiiiCBACBACBACBASiiiiiiiiiiiii1iCBACBACBACBAC = A= Ai iBBi i C Ci i=A=Ai iB Bi i + +(A Ai iBBi i)C Ci i S Si i = A= Ai iBBi i C Ci iC Ci+1 i+1 =A=Ai iB Bi i + +(A Ai iBBi i)C Ci iFASiAiBiCiCi+1一位全加器一位全加器FA逻辑电路图逻辑电路图对于对于A Ai i 、B Bi i和和 C Ci i三个输入三个
46、输入 S Si i的时延为:的时延为:3T3T* *2=6T2=6T C Ci+1i+1的时延为:的时延为:3T+2T=5T3T+2T=5T2 2、n n位加法器设计位加法器设计n n位加法器可由位加法器可由多个多个1 1位加法器级联位加法器级联实现(行波进实现(行波进位加法器)。位加法器)。补码减法器可由加法器实现。补码减法器可由加法器实现。方式控制线方式控制线M M,0 0表表示加,示加,1 1表示减。表示减。FAS0A0B0MC1FAS1A1B1C2FASn-2An-2Bn-2Cn-2Cn-1FASn-1An-1Bn-1CiCn优点是节省器件,成本低,优点是节省器件,成本低,缺点是有延时
47、传递,速度慢缺点是有延时传递,速度慢整个整个n n位加法器的时延分析:位加法器的时延分析:产生各产生各FAFA的求和项时延:的求和项时延:3T ; 3T ; (相对于(相对于A Ai i 、B Bi i 输入)输入) C C1 1的时延为:的时延为:5T5T (相对于(相对于FAFA三个输入)三个输入) C Cn n的时延为:的时延为:2T2T* *(n-1)=2(n-1)T;(n-1)=2(n-1)T;(相对于(相对于C C1 1 输入)输入)V(V(溢出溢出) )的时延:的时延:3T3T(相对于(相对于C Cn n 输入)输入)FAS0A0B0MC1FAS1A1B1C2FASn-2An-2
48、Bn-2Cn-2Cn-1FASn-1An-1Bn-1Cn整个器件的时延为上述各项和整个器件的时延为上述各项和(2n+9)T2.3 2.3 定点乘法运算定点乘法运算2.3.1 2.3.1 原码乘法原码乘法p 规则:规则:符号与数值分开计算符号与数值分开计算乘积的数值部分是两个正数相乘之积。乘积的数值部分是两个正数相乘之积。乘积符号的运算法则是:同号相乘为正乘积符号的运算法则是:同号相乘为正, ,异号相异号相乘为负。乘为负。可由异或实现。可由异或实现。例例1101,1101,1011. 1011. 求求x x* *y.y.1 1、不带符号的阵列乘法器设计、不带符号的阵列乘法器设计设有两个不带符号的
49、二进制整数:设有两个不带符号的二进制整数: A Aa am-1m-1aa1 1a a0 0 B Bb bn-n-1 1bb1 1b b0 0数值部分为数值部分为a a和和b b, ,即即则则A A与与B B相乘相乘, ,产生产生m mn n位乘积位乘积P P: P Pp pm+n-1m+n-1pp1 1p p0 0 m m1 1 n n1 1 P=ab=(P=ab=(a ai i2 2i i)()(b bj j2 2j j) ) i i0 0j j0 0 m+n m+n1 1 = = p pk k2 2k k k=0 k=01m0iii2aa1n0jjj2bb 1m0i1n0jjiii2)ba
50、(例例5x55x5阵列阵列 a a4 4 a a3 3 a a2 2 a a1 1 a a0 0 x x b b4 4 b b3 3 b b2 2 b b1 1 b b0 0 a a4 4b b0 0 a a3 3b b0 0 a a2 2b b0 0 a a1 1b b0 0 a a0 0b b0 0 a a4 4b b1 1 a a3 3b b1 1 a a2 2b b1 1 a a1 1b b1 1 a a0 0b b1 1 a a4 4b b2 2 a a3 3b b2 2 a a2 2b b2 2 a a1 1b b2 2 a a0 0b b2 2 a a4 4b b3 3 a a3
51、 3b b3 3 a a2 2b b3 3 a a1 1b b3 3 a a0 0b b3 3+ a+ a4 4b b4 4 a a3 3b b4 4 a a2 2b b4 4 a a1 1b b4 4 a a0 0b b4 4 . . P P9 9 P P8 8 P P7 7 P P6 6 P P5 5 P P4 4 P P3 3 P P2 2 P P1 1 P P0 0m1 n11ijiii0j00(a b )22mnkkkPp FAAiBiCiCi+1Sia1b00P0a4b3a0b1a0b2a1b1a2b1a1b2a2b2a3b1a1b3a2b3a3b2a0b3a0b4a1b4a4b0
52、a2b4a1b3a4b1a3b4a4b2a4b4a3b0a2b0000a0b0P1P2P3P4P5P6P7P805x5阵列乘法器原理图阵列乘法器原理图P9n*n的乘法计算,需要的乘法计算,需要n*(n-1)个加法器。最慢是个加法器。最慢是P8不带符号阵列乘法器逻辑框图不带符号阵列乘法器逻辑框图2 2、带符号的阵列乘法器设计、带符号的阵列乘法器设计符号与数值分开处理符号与数值分开处理,符号采用异或电路,数值采,符号采用异或电路,数值采用无符号阵列乘法器。用无符号阵列乘法器。原码数据可以直接运算;原码数据可以直接运算;若输入为补码数据,需转换成原码后再运算。若输入为补码数据,需转换成原码后再运算。
53、求补器设计求补器设计带符号的阵列乘法器设计带符号的阵列乘法器设计例例18 18 设设x=-15,y=-13,x=-15,y=-13,用补码求用补码求x x* *y y解解: : x x补补=10001=10001,yy补补=10011=10011符号部分符号部分 x xn ny yn n=1=11=01=0数值部分数值部分 |x|=1111,|y|=1101|x|=1111,|y|=11011 11 11 11 1 1515) ) 1 11 10 01 1 13 13 1 11 11 11 1 0 00 00 00 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1
54、1 . . 1 1 0 1 1 0 0 0 0 0 0 01 1 1 1 xx* *yy补补 0 0 1100001 1100001 x x* *y=195y=195( P36例例21)2.4 2.4 定点除法运算定点除法运算p 规则:规则:符号与数值分开计算符号与数值分开计算商的符号:同号为正商的符号:同号为正, ,异号相除为负。可由异号相除为负。可由异异或或实现。实现。商的数值部分由商的数值部分由两数的绝对值相除两数的绝对值相除获得。获得。可看可看做是两个正数相除做是两个正数相除2.4.1 2.4.1 原码除法原码除法例例19190.1001,0.1001,0.1011.0.1011.求求
55、x xy y 0.1 1 010.1 1 01 0.1 0 1 1 0.1 0 1 1 0.1 0 0 1 00.1 0 0 1 0 0.0.0 0 1 0 1 1 1 0 1 1 0.0 0 1 1 1 00.0 0 1 1 1 0 0.0.0 0 0 0 1 0 1 1 1 0 1 1 0.0 0 0 0 1 1 0.0 0 0 0 1 1 0 0 0.0.0 0 0 00 0 1 0 1 1 1 0 1 1 0.0 0 0 0 1 1 0 00.0 0 0 0 1 1 0 0 0.0.0 0 0 0 00 0 0 1 0 1 1 1 0 1 1 0.0 0 0 0 0 0 0.0 0 0
56、 0 0 0 0 10 1得得的商的商q q0.1101,0.1101,余数为余数为r r0.000000010.00000001开始开始被除数被除数A A(2n+1)2n+1)除数除数B BA 0?A+BAA商商0 0商商1B右移右移,重复重复n次?次?YYNN结束结束A-BAA机器运算流程图机器运算流程图恢复余数法恢复余数法通过减法依次比较被除通过减法依次比较被除数和除数,判定商。数和除数,判定商。若不够减,则通过回加若不够减,则通过回加余数恢复余数恢复A。缺点:控制复杂缺点:控制复杂开始开始被除数被除数A A(2n+1)2n+1)除数除数B BA 0?A+BAA商商0 0商商1B右移右移
57、,重复重复n次?次?YYNN结束结束A-BAA机器运算流程图机器运算流程图不恢复余数法不恢复余数法1 1、恢复余数除法器、恢复余数除法器2.4.2 2.4.2 除法器的设计除法器的设计不恢复余数法不恢复余数法通过减法依次比较被通过减法依次比较被除数和除数,判定商除数和除数,判定商。若不够减,不恢复余若不够减,不恢复余数,而数,而根据余数的符根据余数的符号决定下一步操作号决定下一步操作也称为加减交替法也称为加减交替法开始开始被除数被除数A A除数除数B BA0?A+BAA商商1,B右移右移重复重复n次?次?YNN结束结束A-BAA商商0,B右移右移A-BAAA0?商商0商商1A+BAA最后一步的
58、操作特殊最后一步的操作特殊处理,若商为处理,若商为0 0要恢复要恢复余数余数2 2、不恢复余数除法器、不恢复余数除法器例例20200.101001, 0.101001, 0.111, 0.111, 求求q q = =。解解: : xx补补0.1010010.101001 补补0.111 0.111 补补1.0011.001 0. 1 0 1 0 0 10. 1 0 1 0 0 1 + 补补 1. 0 0 1 . 1. 0 0 1 . 0 0 1. 1 1 0 0 0 1 1. 1 1 0 0 0 1 + + 补补 0. 00. 0 1 1 1 1 1 1 . . 1 1 0. 0 0 1 1
59、0 1 0. 0 0 1 1 0 1 + + 补补 1. 1 11. 1 1 0 0 1 0 0 1 . . 0 0 1 . 1 1 1 1 1 1 1 . 1 1 1 1 1 1 + + 补补 0. 0 0 00. 0 0 0 1 1 1 1 1 1 . . 1 1 0. 0 0 0 1 1 0 0. 0 0 0 1 1 0商商 q q0.101 0.101 余数余数 r r0.000110 0.000110 q=0,下步做加法,下步做加法,y右右移移1位位q=1,下步做减法,下步做减法,y再右移再右移1位位q=1,不做任何操,不做任何操作作q=0,下步做加法,下步做加法,y再再右移右移1位
60、位每一轮余数的符每一轮余数的符号位进位即为商号位进位即为商对应位的数值对应位的数值不恢复余数阵列除法器核心部件不恢复余数阵列除法器核心部件可控加法可控加法/减法(减法(CAS)共有四个输入和四共有四个输入和四个输出。个输出。其中其中P=0,做加法;,做加法;P=1,做减法;,做减法;考虑最大的信号时延,则对于考虑最大的信号时延,则对于C Ci i的输入的输入 C Ci+1i+1的时延为:的时延为:3T3T4位不恢复余数阵列除法器逻辑原理图位不恢复余数阵列除法器逻辑原理图x=0.x6x5x4x3x2x1y=0.y3y2y1q=0.q3q2q1r=0.00r6r5r4r3流程图第流程图第1步:步:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险公估人技术知识测试考核试卷含答案
- 摩托车发动机装调工安全实践知识考核试卷含答案
- 针制作工班组管理考核试卷含答案
- 城市轨道交通设备调度员进度管理强化考核试卷含答案
- 优生培养工作进展汇报
- 音像制品和电子出版物复制员岗位实操测试考核试卷含答案
- 客户服务管理员岗中核心技能考核试卷含答案
- 拖拉机锻造加工生产线操作调整工安全生产规范考核试卷含答案
- 影视剧组导演媒体复古电影制作模板
- 2026年秋季学校路队检查评分表
- 工业控制系统及应用-SCADA系统680
- 关键岗位合规职责清单(部分岗位)
- (2026版)《中华人民共和国危险化学品安全法》核心要点培训+(2026年5月1日施行)课件
- 2026年市场监管辅助人员考试试题及答案
- 2026年恢复驾驶资格考试题库含答案详解(培优)
- 2025QECon全球软件质量效能大会:AI助力的资损防控体系化解决方案
- 居家安宁疗护培训
- DB34∕T 5318-2025 养老机构分级护理服务规范
- 2026贵州大数据产业集团有限公司第一次招聘155人参考笔试题库及答案解析
- T-CSPSTC 100-2022 混凝土智能振捣施工技术规程
- 泌尿外科前列腺癌术后康复训练指南
评论
0/150
提交评论