浮点数在内存中存储

浮点数包括:float,double,long double类型。浮点数表示范围:float.h定义

整数的存储方式和浮点数的存储方式是不一样的

根据国际标准IEEE(电气和电子工程协会)754,任意一个二进制浮点数V可以表示为下面的形式:

V = (-1)^S*M*2^E

1. (-1)^S表示符号位,当S=0,V为正数,当S=1,V为负数

2. M表示有效数字,M是大于等于1,小于2的

3. 2^E表示指数位

举例来说:
十进制的5.0,写成二进制是101.0,相当于1.01*2^2。

那么,根据上面V的格式,可以得出S=0,M=1.01,E=2。

同理,十进制的-5.0,可以表示为S=1,M=1.01,E=2。

IEEE 754规定:

对于32位浮点数(单精度浮点数),最高的1位存储符号位S,接着8位存储指数E,剩下的23位存储有效数字M

对于64位浮点数(双精度浮点数),最高的1位存储符号位S,接着11位存储指数E,剩下的52位存储有效数字M

你可能感兴趣的:(c语言)