信息的表示和处理(4):浮点数

2019-02-11  本文已影响0人  月月月月_bd25

1.1 二进制小数的定点表示

定点表示的定义

1 * 2^2 + 0 * 2^1 + 1 * 2^1 + 1 * 2^{-1} + 1 * 2^{-2} = 5\frac{3}{4}

通过增加二进制长度来近似表示无限长度的小数

1.2 IEEE浮点表示

浮点格式

浮点数值的分类

根据exp的值,编码值可分成三种情况:

浮点数的数字示例

浮点数的数字示例

重要浮点数的表示和数字值,以及整数值转换成浮点形式:

重要浮点数的表示和数字值,以及整数值转换成浮点形式

1.3 舍入

浮点数的表示方法限制了浮点数的范围和精度,因此浮点运算只能近似表示实数运算。

舍入方式

四种舍入方式示例

将偶数舍入法应用到二进制小数上,将最低有效位的值0认为是偶数,值1认为是奇数,只有形如XX...X . YY….Y100...的二进制位模式的数,这种舍入方式才有效,其中X和Y表示任意位值,最右边的Y是要被舍入的位置。只有这种位模式表示两个可能的结果的正中间的值。

对不满足上述形式的浮点数,观察舍入位置的下一位的值,若为1,可考虑向上舍入,若为0,则可考虑向下舍入。

1.4 浮点运算

把浮点数x和y看成是实数,而某个运算\odot 定义在实数上,计算将产生Round(x \odot y) ,这是对实际运算的精确结果进行舍入后的结果。

浮点加法

x+^fy 定义为Round(x+y) ,有如下特点:

浮点乘法

x*^fy 定义为Round(x*y) ,有如下特点:

1.5 C语言中的浮点数

int float double 之间进行类型强制转换的原则:

上一篇 下一篇

猜你喜欢

热点阅读