浮点数的理解

时间:2024-03-25 18:24:55

一、浮点数定义

浮点数:浮点数是指,小数点可以任意浮动的数字。
浮点数的理解

二、计算机中的浮点数

在我们的科学计数法中,我们使用10作为指数的底数。
但是在计算机中,计算机是使用2进制的,故我们使用2作为指数的底数。
浮点数的理解
我可以
浮点数的理解

三、C语言的浮点数

3.1 3种浮点数类型

浮点数的理解

3.2 一般表示法

浮点数的理解

3.3 指数表示法

浮点数的理解

3.4 浮点数的存储格式

浮点数的理解

通常情况下:浮点数表示为 N = rE x M
式子里面的r式浮点数阶码的底,在计算机中式隐含的通常r=2。
E 和 M 都是带符号的定点数。E 叫做阶码,M 叫做尾数
其中E越大,其表示是的数的范围就越大。M越大,其表示的数据的有效精度就越高。

简单地举一个例子,1.111×2100 这里面1.111就是尾数,100就是阶码,显然这里阶码占的位数为3位,尾数占的位数是4位,假如阶码占的位数有4位,位数占的位数是3位(阶码和尾数所占位数总和不变),那么这个数就只能表示为1.11×20100,显然能表示的数的范围变大了,就这个例子来说原来尾数1.111转变为1.11损失了0.001,这就是精度的损失。
浮点数的一般格式:

浮点数的理解

这里J是阶符,表示阶码的符号,S是数符,表示浮点数的符号,阶符J和阶码的m位合起来表示浮点数的表示范围和小数点的实际位置,n位尾数反映了浮点数的精度。

IEEE 754标准

IEEE 754标准采用的浮点数的格式:
浮点数的理解
ms为数符,表示浮点数的符号,E为阶码部分,用移码表示,M是尾数部分,用原码表示。

IEEE 754标准规定常用的浮点数格式有短浮点数(单精度、float)、长浮点数(双精度、double型)、临时浮点数。

短浮点数数符占1位;阶码占8位,以2为底,用移码表示,阶码偏置值为127(阶码全1表示无限大,E的范围是1~254,空出全0表示非规格化数);尾数部分为23位。
浮点数的理解

长浮点数数符占1位;阶码占11位,以2为底,用移码表示,阶码偏置值为1023(阶码全1表示无限大,E的范围是1~2046,空出全0表示非规格化数);尾数部分为52位。
浮点数的理解

举例子

浮点数的理解