在c语言中,单精度浮点数与双精度浮点数的区别与联系。

如题所述

在C语言中,单精度浮点数(float)和双精度浮点数(double)类型都是用来储存实数的,双精度是用记忆较多,有效数字较多,数值范围较大。两种类型对应的格式字符也有不同。 以Turbo C 为例: float 单精度浮点数使用记忆:4 字符(32 位元)有效数字:6-7 位数值范围:�6�13.4e38 至 �6�13.4e�6�138、0、3.4e�6�138 至 3.4e38格式字符:%f %e %g double 双精度浮点数使用记忆:8 字符(64 位元)有效数字:15-16 位数值范围:�6�11.7e308 至 �6�11.7e�6�1308、0、1.7e�6�1308 至 1.7e308格式字符:%lf %le %lg (输入时格式字符串不加 l 会出错,输出时仍可用 %f %e %g) 其他系统大同小异,只是实际数值可能有点不同。 两种类型可以互相赋值,只是 double 型赋给 float 型的时候有可能在数值范围外。两种类型混合计算的时候自动换为 double 型计算。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-28
单精度浮点数占据32位二进制,1位为符号位,0代表正数,1代表负数,8位指数位,即指数可以达到10进制数据的2的8次方,尾数23位,即尾数可以达到2的23次方。双精度浮点数占据64位二进制,1位为符号位,11位指数位,52位尾数位。
相似回答