在c语言中float和double有什么区别

如题所述

一个是单精度类型,一个是双精度类型,有效数字和自动转化等方面上都有区别
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-09
float是浮点型 32位 输入用%f
double是双精度实型 64位 输入用%lf
第2个回答  2014-01-09
float是浮点型
double是双精度实型本回答被提问者采纳
第3个回答  2014-01-09
double、float都是浮点型。double(双精度型)比float(单精度型)存的数据更准确些,占的空间也更大。double精度是float的两倍,所以需要更精确的计算常使用double。单精度浮点数在机内占4个字节,用32位二进制描述。双精度浮点数在机内占8个字节,用64位二进制描述。浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。数符占1位二进制,表示数的正负。指数符占1位二进制,表示指数的正负。尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点指数存指数的有效数字。指数占多少位,尾数占多少位,由计算机系统决定。可能是数符加尾数占24位,指数符加指数占8位 -- float.数符加尾数占48位,指数符加指数占16位 -- double.知道了这四部分的占位,按二进制估计大小范围,再换算为十进制,就是你想知道的数值范围。对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
相似回答