3.14是float还是double型?

3.14是double数据类型的。原因:

double数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,

通常情况,单精度浮点数占4字节(32位)内存空间,其数值范围为-3.4E38~3.4E+38;双精度型占8 个字节(64位)内存空间,其数值范围为-1.7E308~1.7E+308。

3.14在计算机中小数的表示基本上无法准确的描述出来,一般是只是一个近似值(除了0.5这些比较特殊的例子外),这也是为什么浮点数的比较我们无法使用 == 来进行,而是使用两数之差在一个很小的范围内说明两数字相等。

所以3.14f才能表示成float型,而3.14只能表示成double型。

说明:

C语言中,双精度浮点(double)型,占8 个字节(64位)内存空间。其数值范围为-1.7E308~1.7E+308,双精度完全保证的有效数字是15位,16位只是部分数值有保证,而单精度保证7位有效数字,部分数值有8位有效数。

浮点型从狭义上说就是科学记数法,双精度,即 double 。 double有二,两个的意思。

C 标准要求 float 类型精度7位,并且整数部分的表示范围至少要达到 -1.0E37 -- 1.0E+37 。float 一般是 32 位的。

double 类型的整数部分的最小表示范围和 float 一样,都是 -1.0E37 到 1.0E+37,但是它要求 double 类型精度15 到 16 位。double 通常是 64 位的。输出double float类型的控制符为%lf。变量定义时,可以简写为double。

更多web开发知识,请查阅 HTML中文网 !!

以上就是3.14是float还是double型?的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他答疑