浮点数的加法减法运算
浮点数的运算方法

浮点数的运算方法浮点数是计算机中一种表示实数的数据类型,其特点是可以表示带有小数部分的数字。
在进行浮点数的运算时,需要考虑到浮点数的精度问题、舍入误差以及运算顺序等因素。
浮点数的表示方法为:±m×be,其中m为尾数(即小数部分的数值),b为基数或底数,e为指数(表示位移的量)。
1.浮点数加法运算:-对两个浮点数的指数进行比较,将较小指数的浮点数的尾数左移指数之差的位数,使两个浮点数的小数点对齐。
-对齐后的尾数相加,得到一个和。
-对和进行规格化,即将结果的尾数进行处理,使其满足指定的位数限制。
-对规格化后的结果进行舍入运算,得到最终结果。
2.浮点数减法运算:-先将减数的指数调整与被减数的指数相等。
-对齐后的尾数相减,得到一个差。
-对差进行规格化和舍入运算,得到最终结果。
3.浮点数乘法运算:-将两个浮点数的指数相加,得到加法的和,并相应地调整两个浮点数的尾数。
-尾数相乘,得到一个乘积。
-对乘积进行规格化和舍入运算,得到最终结果。
4.浮点数除法运算:-将被除数的指数减去除数的指数,得到差,并相应地调整两个浮点数的尾数。
-尾数相除,得到一个商。
-对商进行规格化和舍入运算,得到最终结果。
在进行浮点数运算时需要注意一些问题:-浮点数的精度问题:由于浮点数的尾数有限位数,所以会存在精度丢失的问题。
这就意味着进行浮点数运算时,可能会出现舍入误差,导致结果有微小的偏差。
-运算顺序:浮点数的运算顺序可能会影响最终结果。
在连续进行多次浮点数运算时,可能会得到不同的结果。
这是因为浮点数的运算不满足交换律和结合律。
因此,在编程中需要谨慎选择运算顺序,以避免结果的不确定性。
-溢出和下溢问题:由于浮点数的范围限制,可能会出现溢出(结果超出浮点数的表示范围)或下溢(结果过小,无法表示)的情况。
针对这些情况,需要进行特殊处理,如返回特定的错误码或进行科学计数法表示。
在实际编程中,可以使用编程语言提供的浮点数运算库或内置函数来进行浮点数运算,以确保运算结果的准确性和可靠性。
c语言浮点数合法规则

c语言浮点数合法规则C语言浮点数合法规则一、引言在C语言中,浮点数是一种用于表示带小数部分的数值的数据类型。
浮点数的合法规则是指在C语言中使用浮点数时需要遵守的一些规则,以确保浮点数的正确使用和计算。
本文将详细介绍C语言浮点数的合法规则。
二、浮点数的表示C语言中的浮点数使用单精度(float)和双精度(double)两种类型进行表示。
单精度浮点数使用32位存储空间,双精度浮点数使用64位存储空间。
浮点数的表示遵循IEEE 754标准,其中包括符号位、指数位和尾数位。
三、浮点数的合法格式1. 整数形式:例如,3、-5等整数可以直接表示为浮点数。
2. 小数形式:例如,3.14、-0.5等小数可以直接表示为浮点数。
3. 科学计数法形式:例如,1.23e-4表示为1.23乘以10的负4次方。
4. 0和-0:0和-0都是合法的浮点数表示。
5. 正无穷和负无穷:表示非常大或非常小的数值。
6. NaN:表示非数值,例如0/0的结果。
四、浮点数的合法操作1. 四则运算:加法、减法、乘法和除法等四则运算都是合法的浮点数操作。
2. 比较运算:等于、不等于、大于、小于、大于等于和小于等于等比较运算都是合法的浮点数操作。
3. 赋值操作:将一个浮点数赋值给另一个浮点数变量是合法的操作。
4. 数学函数:C语言提供了一系列的数学函数,如sin、cos、sqrt 等,这些函数的参数和返回值都可以是浮点数。
五、浮点数的合法范围C语言中的浮点数具有一定的范围限制。
单精度浮点数的范围约为-3.4e38到 3.4e38之间,双精度浮点数的范围约为-1.7e308到1.7e308之间。
六、浮点数的精度问题由于浮点数的表示方式是近似表示,因此在进行浮点数运算时可能会出现精度问题。
例如,0.1在二进制中无法精确表示,因此在进行0.1的加法和减法运算时可能会产生一些误差。
为了避免精度问题,可以使用整数进行计算,或使用浮点数的四舍五入函数进行处理。
浮点数的四则运算

6
4)舍入 ❖由于X+Y是左规,结果不需要舍入; ❖X-Y为右规,若采用末位恒置1法,则
[X-Y]浮=0011;00100011。 ❖若采用0舍1入法,则结果相同。
7
2.7.2 浮点乘除运算
11
例 设不含阶符的阶码位数n=4,Ex=-1010,Ey=+ 0111,求[Ex±Ey]移。
解: [Ex]移 =000110,[Ey]补 =000111, [-Ey]补 =111001
[Ex+ Ey ]移=[Ex]移 + [Ey]补 =000110+000111= 001101,Ex+ Ey=-0011;
解:先将两浮点数表示为规格化的浮点数: [X]浮=00 01;00 110101 [Y]浮=00 10;11 010110
1)对阶 求阶差△E=0001补-0010补=1111补=-1 Ex<Ey,按小阶对大阶原则,X的尾数右移1位,阶码加1,尾 数舍入采用末位恒置1法,则: [Xห้องสมุดไป่ตู้浮=00 10;00 011011
• 当结果尾数出现01.××…×或10.××…×时,需右 移一位,并使阶码加1,这个过程称为右移规格化, 简称右规。
• 当结果尾数出现00.0××…×或11.1××…×时,需 要进行左移规格化处理,简称左规。左规时尾数左 移一位,阶码减1。
3
浮点加减运算(续)
右规和对阶操作时尾数右移,需要进行舍入处理。 计算机中的舍入方法: ❖ 截断法:
同理: [Ex]移 + [-Ey]补 = [Ex-Ey ]移(mod 2n+1 )
浮点数的加减法

对阶完毕后就可对尾数求和。不论是加法运算还是减法运算,都按加法进行操作,其方法与定点加减运算完全一样。
4.规格化
当尾数用二进制表示时,浮点规格化的定义是尾数M应满足:
1/2 ≤ |M|<1
显然对于正数而言,有M = 00.1φφ…φ;对于负数,其补码形式为11.0φφ…φ(即-0.0*******,左归)。这样,当进行补码浮点加减运算时,只要对运算结果的符号位和小数点后的第一位进行比较:如果它们不等,即为00.1φφ…φ或11.1φφ…φ,就是规格化的数;如果它们相等,即为00.0φφ…φ或11.0φφ…φ,就不是规格化的数,在这种情况下需要尾数左移以实现规格化的过程,叫做向左规格化。规则是:尾数左移1位,阶码减1。
在浮点加减运算时,尾数求和的结果也可以得到01.φφ…φ或10.φφ…φ,即两符号位不相等,在这定点加减运算中称为溢出,是不允许的。但在浮点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化。此时将尾数运算结果右移以实现规格化表示,称为向右规格化,即尾数右移1位,阶码加1。
5.舍入
在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理。
(4) 舍入操作。在执行对阶或右规操作时,会使尾数低位上的一位或多位的数值被移掉,使数值的精度受到影响,可以把移掉的几个高位的值保存起来供舍入使用。舍入的总的原则是要有舍有入,而且尽量使舍和入的机会均等,以防止误差积累。常用的办法有"0"舍"1"入法,即移掉的最高位为1时 则在尾数末位加1;为0时则舍去移掉的数值。该方案的最大误差为2-(n+1)。这样做可能又使尾数溢出,此时就要再做一次右规。另一种方法 "置1"法,即右移时,丢掉移出的原低位上的值,并把结果的最低位置成1。该方案同样有使结果尾数变大或变小两种可能。即舍入前尾数最低位已为0,使其变1,对正数而言,其值变大,等于最低位入了个1。若尾数最低位已为1,则再对其置1无实际效用,等于舍掉了丢失的尾数低位值。
浮点数的运算方法

浮点数的运算方法浮点数是计算机中用于表示实数的一种数据类型,由于实数是无限的,而计算机只能存储有限的信息,所以必然存在精度误差。
浮点数的运算涉及到加法、减法、乘法和除法等基本运算,以及开方、幂函数等高级运算。
1.加法运算:浮点数相加时,先将较小的浮点数调整为与较大的浮点数相同的指数,然后进行尾数的相加,最后对结果进行规格化处理,即进行舍入操作,得到最终的结果。
2.减法运算:浮点数相减的原理与加法相同,只是在相减之前,需要将两个浮点数的指数调整为相等,然后进行尾数的相减操作,最后同样需要对结果进行规格化处理。
3.乘法运算:浮点数相乘时,将两个浮点数的指数相加,然后将尾数相乘得到结果的尾数部分,最后对结果进行规格化处理。
4.除法运算:浮点数除法的原理与乘法类似,先将两个浮点数的指数相减,然后将尾数相除得到结果的尾数部分,最后同样需要进行规格化处理。
5.开方运算:浮点数的开方运算是通过求解多项式的根来实现的,常用的方法有牛顿法、二分法和二次近似法等。
这些方法都是通过迭代的方式,逐步逼近平方根的值,直到达到所需的精度。
6.幂函数运算:浮点数的幂函数运算可以通过连乘或连乘的方式实现。
幂函数运算的精度取决于底数和指数的精度以及所需的结果精度。
在浮点数的运算过程中,需要注意以下几个常见问题:1.精度丢失:浮点数的表示是有限的,不可避免地存在精度误差,特别是在进行连续的浮点数运算时,会导致误差累积,可能导致结果的不准确。
2.舍入误差:浮点数的结果需要进行舍入操作以保持一定的精度。
舍入规则有多种,如四舍五入、向上取整、向下取整等,选择合适的舍入规则可以减小误差。
3.溢出和下溢:浮点数的范围是有限的,当计算结果超出范围时,会发生溢出;当结果接近零但无法表示时,会发生下溢。
这两种情况都需要进行特殊处理。
4. 特殊数值:浮点数中有几个特殊的数值,如无穷大(Infinity)、非数值(NaN)和零(0)。
这些特殊值的运算需要按照特定的规则进行处理,以免引起错误。
第2章2.3浮点运算和浮点运算器

• 阶码用移码表示
• 移码的特点:真值越大,移码的数值也越大,无论正负 • 可以用比较电路直接比较两个阶码的大小
4
2.3 .3 浮点运算流水线
1 流水线原理
• 线性流水线 • 各子任务之间具有这种线性优先关系的流水线 • 线性流水线的硬件基本结构(流水线CAI演示) • 处理一个子任务的过程为过程段(Si) • 线性流水线由一系列串联的过程段组成 • 各个过程段之间设有高速缓冲寄存器(L),以暂 时保存上一过程子任务处理的结果 • 在一个统一的时钟(C)的控制下,数据从一个过 程段流向下一个相邻的过程段
• 当指令控制器工作时,运算器基本上处于空闲状态,而当 运算器工作时指令控制器又处于空闲状态,资源浪费浪费 • 完成第一条指令前三步后,指令控制器不等运算器完成 该指令后两步,立即开始第二条指令,运算器也如此; 16 • 形成一种与工厂中的装配流水线类似的流水线
2.3 .3 浮点运算流水线
1 流水线原理
【例2-18】 设x=2010×0.11011011,y=2100×(-0.10101100), 求x+y。 【解】 为了便于直观理解,假设两数均以补码表示,阶码采用双符 号位,尾数采用单符号位,则它们的浮点表示分别为 [x]浮=00 010 0.11011011 [y]浮=00 100 1.01010100 ①求阶差并对阶 △E=Ex-Ey=[Ex]补+[-Ey]补=00 010+11 100=(11 110)补= (11 010)原=(-2)10 简单起见,010是2D, 100是4D,所以 △E=-2D x的阶码小,应使Mx右移2位,Ex加2 ∴[x]浮=00 100 0.00110110(11) 其中(11)表示Mx右移2位后移出的最低两位数。
浮点数的加减乘除运算步骤

1、浮点加减法的运算步骤设两个浮点数X=Mx※2Ex Y=My※2Ey实现X±Y要用如下5步完成:①对阶操作:小阶向大阶看齐②进行尾数加减运算③规格化处理:尾数进行运算的结果必须变成规格化的浮点数,对于双符号位的补码尾数来说,就必须是001×××…×× 或110×××…××的形式, 若不符合上述形式要进行左规或右规处理。
④舍入操作:在执行对阶或右规操作时常用“0”舍“1”入法将右移出去的尾数数值进行舍入,以确保精度。
⑤判结果的正确性:即阶码是否溢出若阶码下溢(移码表示是00…0),要置结果为机器0;若阶码上溢(超过了阶码表示的最大值)置溢出标志。
例题:假定X=0 .0110011*211,Y=0.1101101*2-10(此处的数均为二进制)?? 计算X+Y;解:[X]浮:0 1010 1100110[Y]浮:0 0110 1101101符号位阶码尾数第一步:求阶差:│ΔE│=|1010-0110|=0100第二步:对阶:Y的阶码小,Y的尾数右移4位[Y]浮变为0 1010 0000110 1101暂时保存第三步:尾数相加,采用双符号位的补码运算00 1100110+00 000011000 1101100第四步:规格化:满足规格化要求第五步:舍入处理,采用0舍1入法处理故最终运算结果的浮点数格式为:0 1010 1101101,即X+Y=+0. 1101101*2102、浮点乘除法的运算步骤①阶码运算:阶码求和(乘法)或阶码求差(除法)即[Ex+Ey]移= [Ex]移+ [Ey]补[Ex-Ey]移= [Ex]移+ [-Ey]补②浮点数的尾数处理:浮点数中尾数乘除法运算结果要进行舍入处理例题:X=0 .0110011*211,Y=0.1101101*2-10求X※Y解:[X]浮:0 1 010 *******[Y]浮:0 0 110 1101101第一步:阶码相加※※2+000。
浮点数运算方法

(续) : 即 [x-y]补=11,100;10.110001, 尾数符号位出现“10”, 需右规。 ③规格化 右规后得 [x-y]补=11,101;11.0110001 ④舍入处理 采用0舍1入法,其尾数右规时末位丢1,则 [x-y]补=11,101;11.011001 ⑤溢出判断 经舍入处理后阶符为“11”,不溢出,故最终 结果: x-y= 2-011×(-0.100111)
舍入操作实例
[x]补舍入前 1.01110000 1.01111000 1.01110101 1.01111100 舍入后 1.0111(不舍不入) 1.0111 (舍) 1.0111 (舍) 1.1000 (入) 对应的真值 -0.1001 -0.1001 -0.1001 -0.1000 对应的真值
2.
3.
浮点乘除法运算
设两浮点数
x Sx r j y y Sy r
jx j y
jx
则
x y (Sx S y ) r
1. 2.
x Sx jx j y r y Sy
阶码运算 尾数运算
1. 阶码运算
若阶码用补码运算,乘积的阶码为[jx]补+[jy]补,商的 阶码为[jx]补-[jy]补。 若阶码用移码运算,则 [jx]移=2n+ jx -2n≤jx<2n (n为整数的位数) [jy]移=2n+ jy -2n≤jy<2n (n为整数的位数)
这一步操作是将两个加数的小数点对齐。
数向右移,每右移一位,阶码加“1”, 直到两数阶码相同为止。
尾数右移时可能会发生数码丢失,影响
精度。
例:两浮点数
x = 0.1101×201, y = -(0.1010)×211,求x+y。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.6.3 浮点运算流水线
2、流水技术原理
在流水线中必须是连续的任务,只有不断的提供任务才能充 分发挥流水线的效率
把一个任务分解为几个有联系的子任务。每个子任务由一个 专门的功能部件实现
在流水线中的每个功能部件之后都要有一个缓冲寄存器,或 称为锁存器
流水线中各段的时间应该尽量相等,否则将会引起“堵塞” 和“断流”的现象
尾数进行加或减运算:实现尾数的加减运算, 执行两个完成对阶后的浮点数的求和(差)的过程
规格化:若得到的结果不满足规格化规则,就 必须把它变成规格化的数。
规格化规则: 尾数的符号为01或10时,绝对值大于1,尾数 右移1位,阶码+1
尾数的符号为11或00时,补码表示的数往左移 n位,将尾数移成1.0或0.1
k级线性流水线的加速比: Ck = TL = n·k
Tk k+(n-1)
流水线浮点运算器
A=a×2P, B=b×2q 在4级流水线加法器中实现上述浮点加法时,
分为以下操作: (1) 求阶差 (2) 对阶 (3) 相加 (4) 规格化
2.6.4浮点运算器实例
浮点运算器实例
CPU之外的浮点运算器(数学协处理器)如80287 完成浮点运算功能,不能单用。 可以和80386或80286异步并行工作。 高性能的80位字长的内部结构。有8个80位字长以堆栈方式 管理的寄存器组。 浮点数格式完全符合IEEE标准。
注意:在执行对阶或右规操作时,会使位数低位上的 一位或若干位的数值被移掉,使数值精度受到影响, 可以把移掉的几个高位的值保存起来供舍入使用。
浮点加减法运算
舍入
(1) “0舍1入”法,即右移时丢掉的最高位为0,则 舍去;是1,则将尾数的末位加1(相当于进入)。
(2)“恒置1”法,即不管移掉的是0还是1,都把尾数 的末位置1。
溢出处理
阶码最高位为00或11不溢出 [E]补=01 XX…X为上溢,真正溢出,需做溢出处理。 [E]表补示=1。0 XX…X为下溢,浮点数值趋于零,用机器零
2.6.1 浮点加法、减法运算
2.6.1 浮点加法、减法运算
[例25] 设x=22×0.11011011,y=24×0.10101100
1、0操作数检查(非0) 2、对阶:阶码对齐后才能加减。规则是阶码小的向
(1)对阶
原则:小阶向大阶 • 设△E>0,表示Ex>Ey,则移动y的尾数,My右移△E
位,问题:为什么要小阶向大阶看齐?
• 阶差=Ex-Ey=00 010- 00 100 =11 110 • 即阶差为-2,Mx右移两位,Ex加2
[X]浮=00100, 0.00110110(11)
(2)尾数求和
0.00110110(11)
课堂作业
设[x1]补=11.01100000,
[x2]补=11.01100001, [x3]补=11.01101000, [x4]补=11.01111001,
求执行只保留小数点后4位有效数字的 舍入操作值。
• 例:设X=2001*(-0.111),Y=2010*0. 101, 求X-Y.(假设两数均以补码表示,阶码采用 3位,尾数采用4位,均包括符号位.)
2.6.2 浮点乘法和除法运算
移码采用双符号位,为了对溢出进行判断
01 为正
00 为负
10 上溢
11 下溢
x=+011,y=+110,求[x+y]移 和 [x-y]移,并判断是否溢出。
[x]移=01 011, [y]补=00 110, [-y]补=11 010 [x+y]移=[x]移+[y]补=10 001, 结果上溢。 [x-y]移=[x]移+[-y]补=00 101, 结果正确,为-3。
其真值为
x×y=2-3×(-0.1011011)
2.6.2 浮点乘法和除法运算
实现的逻辑框图
C
A
M
阶码加法器
尾数相加以 及控制线路
C
B
2.6.3 浮点运算流水线
1、提高并行性的两个渠道: 空间并行性:增加冗余部件,如增加多操作部件处
理机和超标量处理机 时间并行性:改善操作流程如:流水线技术
+
1.01010100
1.10001010(11)
(3)规格化和舍入处理
结果的符号位与最高符号数值位相同, 应执行左规处理,所谓左规格化的规则, 就是尾数左移1位,阶码减1,所以结果为 1.00010101(10) ,阶码为00 011
舍入处理,采用0舍1入法处理,则有
1. 0 0 0 1 0 1 0 1
阶码大的数对齐;
若△E=0,表示两数阶码相等,即Ex=Ey; 若△E>0,表示Ex>Ey; 若△E<0,表示Ex>Ey。 当Ex≠Ey 时,要通过尾数的移动以改变Ex或Ey,
使之相等。
解:浮点表示为: [X]浮= 00 010,0. 11011011 [Y]浮= 00 100,1. 01010100
0操作数检查 阶码加减操作 尾数乘除操作 结果规格化和舍入处理
2.6.2 浮点乘法和除法运算
•浮点乘、除法的运算步骤: 1.浮点数的阶码运算
阶码通常用补码和移码形式表示。对于 移码来说:(课本的证明)
[X+Y]移=[X]移+[Y]补 [X-Y]移=[X]移+[-Y]补 在用移码进行计算时,判断溢出的条件 是当结果的最高符号位为1时,则产生了溢 出。
本章小结
为运算器构造的简单性,运算方法中算术运算通常采用补 码加、减法,原码乘除法或补码乘除法。为了运算器的高 速性和控制的简单性,采用了先行进位、阵列乘除法、流 水线等并行技术措施。运算方法和运算器是本章的重点。
本章小结
数的真值变成机器码时有四种表示方法:原码表示法,反 码表示法,补码表示法,移码表示法。其中移码主要用于 表示浮点数的阶码E,以利于比较两个指数的大小和对阶
字符信息属于符号数据,是处理非数值领域的问题。国际 上采用的字符系统是七单位的ASCII码。直接使用西文标 准键盘输入汉字,进行处理,并显示打印汉字,是一项重 大成就。为此要解决汉字的输入编码、汉字内码、字模码 等三种不同用途的编码。
规则:尾数右移1位,阶码加1
(2)结果是00.0..01.....或11.1...10...时,则向左规 格化
规则:尾数左移1位,阶码减1,直到规格化
右规,阶码加1,左规,阶码减1
例子中左规为11.00010101(10),阶码减1为00011
练习:01.1101
10.0001
11.1001
+
1
1. 0 0 0 1 0 1 1 0
判溢出
阶码的符号位为00,不溢出。所以最终的 结果为: X+Y=2011*(-0.11101010)
结果规格化
(1)在浮点加减运算时,尾数求和的结果也可以得到 01.ф…ф或10.ф…ф,即两符号位不等,此时将运算结 果右移以实现规格化表示,称为向右规格化。
乘积的尾数符号位与最高数值位符号相同,不是规格化的数,需 要左规,阶码变为00 101(-3), 尾数变为 1.0100101,0010100。 (4) 舍入处理
尾数为负数,取尾数高位字长,按舍入规则,舍去低位字长,故 尾数为1.0100101 。
最终相乘结果为
[x×y]浮=00 101,1.0100101
(含符号位)用8位补码表示。求[x×y]浮。要
求用补码完成尾数乘法运算,运算结果尾数保 留高8位(含符号位),并用尾数低位字长值处理 舍入操作。
[解:] 移码采用双符号位,尾数补码采用单符号位,则有
[Mx]补=0.0110011, [My]补=1.0001110, [Ey]移=01 011, [Ey]补=00 011, [Ex]移=00 011, [x]浮=00 011, 0.0110011, [y]浮=01 011, 1.0001110
(1)判断操作是否为”0”,求阶码和
[Ex+Ey]移=[Ex]移+[Ey]补=00 011+00 011=00 110,
值为移码形式-2。 (2) 尾数乘法运算可采用补码阵列乘法器实现,即有
[Mx]补×[My]补=[0.0110011]补×[1.0001110]补
=[1.1010010,1001010]补 (3) 规格化处理
x±y=(Mx2Ex-Ey±My)2Ey, 设Ex<=Ey
ቤተ መጻሕፍቲ ባይዱ
2.6.1 浮点加法、减法运算
•浮点数的加法、减法运算
设有两个浮点数的分别为X=Mx*2Ex,Y=My*2Ey, 实现浮点加减法算的基本步骤分为四步完成:
0操作数检查:用来判断两个操作数中是否有一 个为0.
对阶操作:即比较两个浮点数的阶码值的大小, 求E=Ex-Ey,然后将小阶对大阶。
2.6 浮点运算方法和浮点运算器
2.6.1 浮点加法、减法运算 2.6.2 浮点乘法、除法运算 2.6.3 浮点运算流水线 2.6.4 浮点运算器实例
2.6.1 浮点加法、减法运算
1、浮点加减运算
设有两个浮点数x和y,它们分别为 x=2Ex·Mx y=2Ey·My
其中Ex和Ey分别为数x和y的阶码,Mx和My为 数x和y的尾数。两浮点数进行加法和减法的运算规 则是
舍入处理,采用恒舍法处理,则有尾数为1.011
(4).判溢出 阶码不溢出。所以最终的结果为 X+Y=2011*(-0.101)
2.6.2 浮点乘法和除法运算
设有两个浮点数x和y: x=2Ex·Mx y=2Ey·My
x×y=2(Ex+Ey)·(Mx×My) x÷y=2(Ex-Ey)·(Mx÷My) 乘除运算分为四步
2. 浮点数的尾数处理
第一种方法:无条件地丢掉正常尾数最 低位之后的全部数值,这种方法称为截断 处理。
第二种方法:运算过程中保留右移中移 出的若干高位的值,最后按某种规则用这 些位上的值修正尾数,这种处理称为舍入 处理。