名称位数数的范围double641.7E–308~1.7E布赶谁友+308float323.4E–38~3.4E+38下面讨论浮点型的两种类型。
1.单精普作毛度浮点型(float)
单精度浮点型(float)专指占用32位存储空间的单精度(single-precision)值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不粉味型村另入升慎精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。例如,当表示美颂粗元和分时,单精度浮点型是有用的。
这是一些声明单精度浮点型变量的例子:floathightemp,lowte360问答mp;
2.双精度型(double)浮点型
双精度型,正如它的关键教严虽载料影映队字“double”表示的,占用64位的存储空间月知种。在一些现代的被优化用来带文阻胜进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如sin(),cos(),tan()和sqrt()均返回双精度的值。当你例需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时谁喜轴司足斯,双精度型是最好的选择。
具体有三种形式:
IEEE754三种浮点数的格式参数
类型存储位野笑镇数偏移值 数符(s)阶码(令增绍端害按情连若采E)尾数(M)总位数十六进制短实数(Single,Float)1位8位23位32位0x7FH+127长实数(Double)1位11位52位64位0x3FFH+1023临时实友必走唱数(延伸双精确度,不常用)1位15位64位80位0x3FFFH+16383对于阶码为0或为255(2047)的情况,IEEE有特殊的规定:
如果E是0并且M是0,这个数±0(和符号位相关)如果E=2−1并且M是0,这个数是±无穷大(同样和符号位相关)如果E=2−1并且M非0,这个数表示为不是一个数(NaN)。
机致尔只要尽做核补温标准浮点数的存储在尾数中隐含存储着一个1,因此在计算尾数的真值时比一般形式要多一个整数1。对于阶码E的存储形入苦式因为是127的偏移,所以在计算其移码时与人们熟悉的128偏移不一样,正数的值比用128偏移求得的少1,负数的值多1,为避免计算错误,方便理解,常将E当成二进制真值进行存储。例如:将数值-0.5按IEEE754单精度格式存储,先将-0.5换成二进制并写成标准形式:-0.510=-0.12=-1.0×2-12,这里s=1,M为全0,E-滑尼该127=-1,E=12杆武其按610=011111102,则存储形式为:
101111110000000=BE000000(16)
这里不同的下标代表不同的进制。