1. 首页
  2. 文档大全

浮点数计算方法

上传者:11****88 2022-06-11 07:00:09上传 PPT文件 752.01KB
浮点数计算方法_第1页 浮点数计算方法_第2页 浮点数计算方法_第3页

《浮点数计算方法》由会员分享,可在线阅读,更多相关《浮点数计算方法(164页珍藏版)》请在文档大全上搜索。

1、第二章 运算方法和运算器2.1 数据与文字的表示方法2.2 定点加法、减法运算2.3 定点乘法运算2.4 定点除法运算2.5 定点运算器的组成2.6 浮点运算方法和浮点运算器2.1 数据与文字的表示方法 2.1.1 2.1.1 数据格式数据格式计算机中常用的数据表示格式有两种: 1 1 定点格式定点格式 2 2 浮点格式浮点格式 一般来说,定点格式容许的数值范围有限,但要求的处理硬件比较简单。而浮点格式容许的数值范围很大,但要求的处理硬件比较复杂。1. 定点数的表示方法定点数的表示方法定点表示定点表示:约定机器中所有数据的小数点位置是固定不变的。由于约定在固定的位置,小数点就不再使用记号“.”

2、来表示。通常将数据表示成纯小数纯小数或纯整数纯整数。 定点数012n 在定点机中表示如下(0:符号位,0代表正号,1代表负号):纯小数纯小数的表示范围为(012n 各位均为0时最小;各位均为1时最大) 0|12n (2.1) 纯整数纯整数的表示范围为0|2n1 (2.2)目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为整数运算整数运算。电子的质量(91028克)和太阳的质量(21033克)相差甚远,在定点计算机中无法直接来表示这个数值范围.要使它们送入定点计算机进行某种运算,必须对它们分别取不同的比例因子,使其数值部分绝对值小于1,即: 9 10280.9 1027 2 1033

3、0.2 1034 这里的比例因子1027 和 1034要分别存放在机器的某个存储单元中,以便以后对计算结果按这个比例增大。显然这要占用一定的存储空间和运算时间。因此得到浮点表示法如下:2. 浮点数的表示方法浮点数的表示方法浮点表示法浮点表示法:把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,这种把数的范围和精度分别表示的方法,相当于数的小数点位置随比例因子的不同而在一定范围内自由浮动,称为浮点表示法。 任意一个十进制数 可以写成 10E. (2.3)同样在计算机中一个任意进制数 可以写成 e. (2.4) :尾数尾数,是一个纯小数。 e :比例因子的指数,称为浮点数的指数指数

4、,是一个整数。 R :比例因子的基数基数,对于二进计数值的机器是一个常数,一般规定 为2,8或16。 一个机器浮点数由阶码和尾数及其符号位组成(尾数尾数:用定点小数表示,给出有效数字的位数决定了浮点数的表示精度;阶码阶码:用整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。): 32位浮点数的IEEE754标准格式为:64位浮点数的IEEE754标准格式为:在IEEE754标准格式表示的32位浮点数中, :浮点数的符号位,1 位, 0表示正数,1表示负数。 :尾数,23位,用小数表示, 小数点放在尾数域的最前面。 :阶码,8 位阶符采用隐含方式, 即采用移码方式来表示正负指数。

5、移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值e 变成阶码 时,应将指数 e 加上一个固定的偏移值127(01111111),即 e127. IEEE754 标准中,一个规格化规格化的32位浮点数的真值可表示为 (1)s(1.)2127 e127 一个规格化的64位浮点数的真值为 (1)s(1.)21023 e1023 为提高数据的表示精度,当尾数的值不为 0 时,尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式,这称为浮点数的规格化表示规格化表示。 当浮点数的尾数为 0,不论其阶码为何值,

6、或者当阶码阶码的值遇到比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零机器零。 当阶码E 为全0且尾数M 也为全0时,表示的真值x 为零,结合符号位S 为0或1,有正零和负零之分。当阶码E 为全1且尾数M 为全0时,表示的真值x 为无穷大,结合符号位S 为0或1,也有+和-之分。这样在32位浮点数表示中,要除去E 用全0和全1(255)10表示零和无穷大的特殊情况,指数的偏移值不选128(10000000),而选127(01111111)。对于规格化浮点数,E 的范围变为1到254,真正的指数值e 则为-126到+127。因此32位浮点数表示的绝对值的范围是1

7、0-381038(以10的幂表示)。 浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择,而单片机中多采用定点表示。 例例1 若浮点数的754标准存储格式为 (41360000)16,求其浮点数的十进制数值。例例2 将(20.59375)10转换成754标准的32位浮点 数的二进制存储格式。 例例1 若浮点数的754标准存储格式为 (41360000)16,求其浮点数的十进制数值。解解: 将十六进制数展开后,可得二进制数格式为 指数e阶码127100000100111111

8、100000011=(3)10包括隐藏位1的尾数 1.M1.011 0110 0000 0000 0000 00001.011011 于是有 (1)s1.M2e (1.011011)231011.011(11.375)10 例例2 将(20.59375)10转换成754标准的32位浮点 数的二进制存储格式。 解解: 首先分别将整数和分数部分转换成二进制数: 20.5937510100.10011 然后移动小数点,使其在第1,2位之间 10100.100111.01001001124e4于是得到: S0, E4127131, M010010011最后得到32位浮点数的二进制存储格式为: 0100

9、 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 3. 十进制数十进制数串串的表示方法的表示方法 目前,大多数通用性较强的计算机都能直接处理十进制形式表示的数据。十进制数串在计算机内主要有两种表示形式: (1) 字符串形式字符串形式:一个字节存放一个十进制的数位或符号位。为了指明这样一个数,需要给出该数在主存中的起始地址和位数(串的长度)。 (2) 压缩的十进制数串形式压缩的十进制数串形式:一个字节存放两个十进制的数位。它比前一种形式节省存储空间,又便于直接完成十进制数的算术运算,是广泛采用的较为理想的方法。4. 自定义数据表示自定义数据表示 在传

10、统的计算机体系结构中,用指令本身来说明操作数据的类型。如定点加法表示操作数是纯小数或纯整数;浮点加法表示操作数是浮点数;十进制加法表示操作数是BCD数。由于操作数据类型不同,要设三种不同的指令(操作码)来加以区分。 自定义数据表示则用数据本身来说明数据类型。表示形式有两种,即标志符数据表示标志符数据表示和描述符数据表示描述符数据表示。描述符数据表示主要用来描述多维结构的数据类型,如向量、矩阵、记录等。描述符标志位部分指明这是一个数据描述符;特征标记部分指明数据的各种特征;长度部分指明数组中元素个数;起始地址部分指明数据块的首地址。其格式为:标志符数据表示要求对每一个数据都附加标志符。其指明后面

11、的数据所具有的类型,如整数、浮点数、BCD数、字符串等,其格式如下: 标识符 数据描述符标志位 特征标记 数据块长度 数据块起始地址2.1.2 数的机器码表示数的机器码表示 在计算机中对数据进行运算操作时,为了妥善的处理好符号位问题,就产生了把符号位和数字位一起编码来表示相应的数的各种表示方法,如原码、补码、反码、移码等。为了区别一般书写表示的数和机器中这些编码表示的数,通常将前者称为真值,后者称为机器数或机器码。 常用的机器码表示法: 1. 原码表示法 2. 补码表示法 3. 反码表示法 4. 移码表示法1. 原码表示法原码表示法 若定点小数的原码形式为0 .12n ,则原码表示的定义是:


文档来源:https://www.renrendoc.com/paper/212615414.html

文档标签:

下载地址