计算机组成原理第二章 第5讲 定点加法、减法运算
- 格式:ppt
- 大小:261.00 KB
- 文档页数:17
②纯整数a.定点整数表示:N s N x N2 ..・N n(原码、反码、补码)b、范围:1W | X | Will (11)BP: 1W | X | 5-1由于有些数据用定点数不易表示,所以采用了浮点表示法。
2)浮点表示滋①定义:任意一个R进制都可以通过移动小数点的位置写成X=R E x M式中:R是基数,可以取2, 8, 16, —旦定义则不能改变, 是隐含的。
M是纯小数(含数的符号),称为尾数,表示数N的全部有效数字。
E是阶码,纯整数,指出小数点在该数中的位置。
由于阶码可以取不同的数值,所以,小数点的位置是不确定的,这种数被称为浮点数。
浮点数的表示格式:X=2fi x M1、将20.1875转换成,32位浮点数存储?2、若浮点数的二进制存储格式为(41A18000)求其十进制值?将十进制数数17.296875转换成位浮点数的二进制格式来存储?数值数据—定点数的表示方法□原码表示法□补码表示法□反码表示法□移码表示法数值数据—定点数的表示法(原码)数值数据—定点数的表示法(原码)实例:X1 =:0.10110-0.101100.0000[X]沪0.10110 1.101100.00001.0000实例:X1 =:10110-101100000 [X]原二0101101101100000010000数值数据—定点数的表示法(原码)性质: ■原码为符号位加数的绝对值,■原码零有两个编码,+0和・0编码不同■原码难以用于加减运算L=J■ N+1位二进制原码所表示的范小数:MAX=l-2 11 , MIN= - (1-2 n ) 整数:MAX=2n-l ,MIN= - (2n-l )数值数据一定点数的表示法(补码)■补码是在“模”和“同余”的概念下导出的。
“模”是指一个计量系统的计量范围,即产生“溢出”的量。
■继续推导:5-2=5+10 (MOD 12) 5+ (-2) =5+10 (MOD 12) -2=10 (MOD 12)■结论:数值数据一定点数的表示法(补5+10=3 (12自动丢 失。
定点加减法
位运算与逻辑运算非常简单
定点加、减法运算补码加法定点整数[x +y ]=补[x ]+补[y ]
补(mod 2)n +1定点小数[x +y ]=补[x ]+补[y ]补(mod 2)
补码减法定点整数[x −y ]=补[x ]−补[y ]=补[x ]+补[−y ]补(mod 2)n +1定点小数[x −y ]=补[x ]−补[y ]=补[x ]+补[−y ]补(mod 2)
等于的各位取反,末位加1
[−y ]补[y ]补定点数补码的加减法运算定点整数[x ±y ]=补[x ]+补[±y ]补(mod 2)n +1定点小数
[x ±y ]=补[x ]+补[±y ]补(mod 2)溢出概念与检验方法溢出
在定点数机器中,数的大小超出定点数能表示范围上溢数据大于机器所能表示的最大正数
下溢数据小于机器所能表示的最小负数
检验方法直接判别法
同号补码相加,结果符号位与加数相反异号补码相减,结果符号位与减数相同
硬件实现较复杂
变形补码判别法模4补码采用双符号位表示补码硬件实现简单,只需要对结果的符号进行异或
进位判别法
判别方法
最高位的进位与符号位的进位是否相同判别公式溢出标志V =C C f ⨁n −1二进制加法减法器逻辑门符号
一位半加器和全加器
全加器的逻辑结构门电路的时间延迟通常采用一个与非门或者一个或非门的时间延迟作为度量单位补充内容
与非门具有函数完备性在使用多发射极晶 体管的TTL集成电路中,与非门需要的晶体管也少于其他任何门电路多位二进制数据加法/减法器。
定点运算定点加法、减法在上篇文章中计算机组成原理:数据与文字的表示方法,我们已经介绍了数的补码表示法,负数用补码表示后,就可以和正数一样来处理。
这样,运算器里只需要一个加法器就可以了,不必为了负数的加法运算,再配一个减法器。
定点数的加法、减法,实际上就是补码加法、减法。
补码加法补码加法运算基本公式:∙定点整数:[x+y]补[x+y]补 = [x]补[x]补 + [y]补[y]补(mod 2n+12n+1)∙定点小数:[x+y]补[x+y]补 = [x]补[x]补 + [y]补[y]补(mod 22)简单来说,只需将符号位和数值部分一起参与运算,并且将符号位产生的进位丢掉即可证明:(1)证明依据:补码的定义若定点整数的补码形式为x = x n xn x n−1xn−1x n−2xn−2……x1x1x0x0(x n x n 为符号位),则补码表示的定义是:(2)证明思路:分三种情况。
1. x、y均为正值(x﹥0,y﹥0)2. x、y一正一负(x﹥0,y﹤0 或者x<0,y>0)3. x、y均为负值(x<0,y<0)证明定点小数的补码加法:(定点整数的证明类似,此处不再证明)1、x﹥0,y﹥0[x]补[x]补 + [y]补[y]补 = x+y = [x+y]补[x+y]补(mod 22)2、x﹥0,y﹤0 (x<0,y>0 的证明与此类似)根据定义[x]补[x]补 = x,[y]补[y]补 = 2+y所以[x]补[x]补 + [y]补[y]补 = x+2+y = 2+(x+y)这个地方要考虑进位的问题。
当x+y>0 时,2+(x+y) > 2 ,进位 2 必丢失;故[x]补[x]补 + [y]补[y]补 = x+y = [x+y]补[x+y]补(mod 2)当x+y<0 时,2+(x+y) < 2 ;故[x]补[x]补 + [y]补[y]补 = 2+(x+y)= [x+y]补[x+y]补(mod 2)3、x<0,y<0根据定义[x]补[x]补 = 2+x,[y]补[y]补 = 2+y所以[x]补[x]补 + [y]补[y]补= 2+x+2+y= 2+(2+x+y)= 2+ [x+y]补[x+y]补(mod 2)= [x+y]补[x+y]补注:不懂mod 2 的可以转至上一篇计算机组成原理:数据与文字的表示方法查看补码的推导定点数补码加法举例补码减法补码减法运算基本公式:∙定点整数:[x−y]补[x−y]补 = [x]补[x]补 - [y]补[y]补 = [x]补[x]补 + [−y]补[−y]补(mod 2 n+12n+1)∙定点小数:[x−y]补[x−y]补 = [x]补[x]补 - [y]补[y]补 = [x]补[x]补 + [−y]补[−y]补(mod 2 2)证明:只需要证明[−y]补[−y]补 = - [y]补[y]补已证明[x+y]补[x+y]补 = [x]补[x]补 + [y]补[y]补故[y]补[y]补 =[x]补[x]补 + [y]补[y]补 - [x]补[x]补 = [x+y]补[x+y]补 - [x]补[x]补又[x−y]补[x−y]补 = [x+(−y)]补[x+(−y)]补 = [x]补[x]补 + [−y]补[−y]补故[−y]补[−y]补 = [x−y]补[x−y]补 - [x]补[x]补可得[y]补[y]补 + [−y]补[−y]补= [x+y]补[x+y]补 + [x−y]补[x−y]补 - [x]补[x]补 - [x]补[x]补= [x+y+x−y]补[x+y+x−y]补 - [x]补[x]补 - [x]补[x]补= [x+x]补[x+x]补 - [x]补[x]补 - [x]补[x]补= 0即证。