浮点数的float与double问题
“(二)、浮点型常量一个浮点型常量由整数和小数两部分构成,中间用十进制的小数点隔开。有些浮点数非常大或者非常小,用普通方法不容易表示,可以用科学计数法或者指数方法表示。下面是一个实例:
3.1416, 1.234E-30, 2.47E201
注意在C语言中,数的大小也有一定的限制。对于float型浮点数,数的表示范围为-3.402823E38到3.402823E38,其中-1.401298E-45到1.401298E-45不可见。double型浮点型常数的表示范围为-1.79E308到1.79E308,其中-4.94E-324到4.94E-324不可见。
在浮点型常量里我们也可以加上后缀。
FloatNumber=1.6E10F; /*有符号浮点型*/
LongDoubleNumber=3.45L; /*长双精度型*/
后缀可大写也可小写。
说明:
1. 浮点常数只有一种进制(十进制)。
2. 所有浮点常数都被默认为double。
3. 绝对值小于1的浮点数, 其小数点前面的零可以省略。如:0.22可写为.22, -0.0015E-3可写为-.0015E-3。
4. Turbo C默认格式输出浮点数时, 最多只保留小数点后六位”
我在有个网站看到的学C语言入门,上面说到float型浮点数怎么理解?单精度浮点数?说明2.所有浮点常数都默认为double.又怎么理解
“double型浮点型常数的表示范围为-1.79E308到1.79E308,其中-4.94E-324到4.94E-324不可见。”是不是说倒了。4.94E-324不比1.94E-308大吗