浮点数的运算方法_第1页
浮点数的运算方法_第2页
浮点数的运算方法_第3页
浮点数的运算方法_第4页
浮点数的运算方法_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浮点数的运算方法第一页,共十六页,2022年,8月28日浮点数在计算机内的格式浮点数:X=MS

ESEm-1...E2E1

M-1M-2...M-n

符号位

阶码位

尾数数码位

总位数短浮点数:

1

8

23

32长浮点数:

1

11

52

64

临时浮点数:1

15

64

80IEEE标准:阶码用移码,基为2;尾数用原码X=MX*2EX浮点数的阶码的位数决定数的表示范围,

尾数的位数决定数的有效精度。第二页,共十六页,2022年,8月28日浮点数在计算机内的格式浮点数:X=M

EE...EE

MM...M

ssm-110-1-2-nIEEE标准:尾数用原码X=MX

*2EX浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。在计算机内,其纯小数部分被称为浮点数的尾数,对非0值的浮点数,要求尾数的绝对值必须>=1/2,称满足这种表示要求的浮点数为规格化表示;把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现。第三页,共十六页,2022年,8月28日浮点数在计算机内的格式浮点数:X=M

EE...EE

MM...M

ssm-110-1-2-nIEEE标准:尾数用原码X=MX*2EX按国际电子电气工程师协会规定的标准,浮点数的尾数要用原码表示,即符号位Ms:0表示正,1表示负,且非0值尾数数值的最高位M-1必为1,才能满足浮点数规格化表示的要求;既然非0值浮点数的尾数数值最高位必定为1,则在保存浮点数到内存前,通过尾数右移,强行把该位去掉,用同样多的尾数位就能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。第四页,共十六页,2022年,8月28日浮点数在计算机内的格式X=Ms

EsEm-1...E1E0

M-1M-2...M-n

IEEE标准:阶码用移码,基为2X=MX*2EX按国际电子电气工程师协会规定的国际通用标准,浮点数的阶码用整数给出,并且要用移码表示,用作为以2为底的指数的幂。既然该指数的底一定为2,可以不必在浮点数的格式中明确表示出来,只需给出阶码的幂值即可。

移码表示只用于表示整数,只用在浮点数的阶码部分,其定义类似于整数的补码定义,差别在符号位。

移码的符号位是0表示负,1表示正,与补码的符号位正好相反,移码是指机器数在数轴上有个移位关系;

移码的数值位则与补码的数值位完全相同。第五页,共十六页,2022年,8月28日浮点数格式:关于移码的知识浮点数:X=M

EE...EE

MM...M

ssm-110-1-2-nX=MX*2EX移码表示只用于表示整数,只用在浮点数的阶码部分。一位符号位和n位数值位组成的移码,其定义为;[E]移=2n+E-2n<=E<2n表示范围:

00000000111111110负数正数机器数[X]补

=X0X<2n

2n+1+X-2nX0第六页,共十六页,2022年,8月28日浮点数格式:关于移码的知识一位符号位和n位数值位组成的移码,其定义为;[E]移=2n+E-2n<=E<2n表示范围:00000000~11111111

负数

正数机器数0移码只执行二数的加减运算与增1、减1操作。加减运算时,符号位计算结果求反后,才是加减运算的正确符号位的值。注意:当用双符号位时,00代表负,01代表正,而不是11代表正

8位的阶码能表示-128~+127,当阶码为-128时,其补码表示为00000000,该浮点数的绝对值<2-128,人们规定此浮点数的值为零,若尾数不为0就清其为0,并特称此值为机器零。8位移码表示的机器数为数的真值在数轴上向右平移了128个位置-128+127第七页,共十六页,2022年,8月28日浮点数在计算机内的格式浮点数:X=M

EE...EE

MM...M

ssm-110-1-2-nIEEE标准:阶码用移码,基为2;尾数用原码X=MX*2EX阶码用移码,尾数用原码表示浮点数的好处:(1)机器零为浮点数的所有各位均为零;(2)二浮点数比大小时,可不必区分阶码位和数据位,可视同比二定点小数一样对待第八页,共十六页,2022年,8月28日浮点数算术运算(1)对阶操作,求阶差:

E=

EX-EY,

使阶码小的数的尾数右移E位,其阶码取大的阶码值;(2)尾数加减;(3)规格化处理;(4)舍入操作,可能带来又一次规格化;(5)判结果的正确性,即检查阶码上下溢出EXX=MX*2

EYY=MY*2

浮点数加减运算第九页,共十六页,2022年,8月28日浮点数加运算举例X=2010*0.11011011,Y=2100*(-0.10101100)写出X、Y的正确的浮点数表示:

阶码用4位移码

尾数用9位原码(含符号位)(含符号位)[X]浮=0

1010

11011011[Y]浮=1

1100

10101100为运算方便,尾数写成模4补码形式:[MX]补=0011011011[MY]补=1101010100

第十页,共十六页,2022年,8月28日浮点数加运算举例

X=2010*0.11011011,Y=2100*(-0.10101100)(1)计算阶差:

E=EX-EY=EX+(-EY)=1010+0100=0110

注意:阶码计算结果的符号位在此变了一次反,结果为-2的移码,是X的阶码值小,使其取Y的阶码值1100(即+4);因此,修改[MX]补=000011011011(即右移2位)(2)尾数求和:000011011011

+

1101010100111000101011第十一页,共十六页,2022年,8月28日浮点数加运算举例X=2010*0.11011011,Y=2100*(-0.10101100)(3)规格化处理:

相加结果的符号位与数值的最高位同值,应执行一次左规操作,故得[MX]补=1000101011,[EX]移=1011(4)舍入处理:采用0舍1入方案,要入,在最低位加1

1100010101

+

00000000011100010110

(其原码表示为111101010)(5)检查溢出否:和的阶码为1011,不溢出计算后的[X]移=1

1011

11101010,即23*(-0.11101010)第十二页,共十六页,2022年,8月28日浮点数算术运算(1)阶码加、减:乘:EX+EY

,除:EX-EY(2)尾数乘、除:乘:EX*EY

,除:EX/EY(3)规格化处理;(4)舍入操作,可能带来又一次规格化;(5)判结果的正确性,即检查阶码上下溢出EXX=MX*2

EYY=MY*2

浮点数乘除运算第十三页,共十六页,2022年,8月28日浮点数乘法运算举例X=2010*0.1011,Y=2100*(-0.1101)写出X、Y的正确的浮点数表示:

阶码用4位移码

尾数用9位原码(含符号位)(含符号位)[X]浮=0

1010

1011[Y]浮=1

1100

1101第十四页,共十六页,2022年,8月28日浮点数乘运算举例

X=2010*0.1011,Y=2100*(-0.1101)(1)阶码相加:

积的阶码

=EX+EY=1010+1100=1110

注意:计算结果的阶码符号位在此变了一次反,

结果为+6的移码

(2)尾数相乘:MX*MY=0.1011*(-0.1101)=-0.10001111

(3)(4)(5)已是规格化数,不必舍入,也不溢出最众乘积[MX]移

=1111010001111,即26*(-0.10001111)第十五页,共十六页,2022年,8月28日浮点数除运算举例

X=2010*0.1011,Y=2100*(-0.1101)(1)阶码相减:

积的阶码

=EX-EY=EX+(-EY)

=1010+0100=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论