新闻资讯
看你所看,想你所想

浮点型常量

浮点型常量

浮点型常量有多种写法。其基本形式是首先写整数部分(可以带符号),接着写小数部分,然后写 e或者 E,最后再写一个有符号整数。

基本介绍

  • 中文名:浮点型常量
  • 外文名:Floating point constants
  • 基本形式:符号整数部分小数部分E指数部分
  • 例子:+1.2E+5
  • 注意:浮点型常量中不能有空格

写法

例如:
+1.2E+5
1.5e-9
-5.0e10
其中 e 或 E 被称为阶码标誌,e 或 E 后面的有符号整数被称为阶码。阶码代表 10 的阶码次方。例如:+1.2E+5 的值是 是1.2*10^(5)。假设 A 为 e 前面的部分,N 是 e 后面的部分,则 AeN 等于 A * 10N。此外,正号可以省略不写。小数部分也不是必需的,也就是说,5e3 也是正确的。阶码标誌和阶码也可以不写,如:13.5。小数点后面,阶码标誌之前的那部分整数可以不写(9.E5),小数点之前的整数也可以不写(.96e-8),但是不能同时都不写。例如:
56.
.5
3.14
3e6
.6E-8
注意:浮点型常量中不能有空格!例如:
3.21e -12 /* 有空格,错! */
3.14e5 /* 有空格,错! */
浮点型常量默认是 double 类型的。假设 var_f 是 float 类型的变数,如果有以下语句:
var_f = 9.0 * 3.0;
那幺 9.0 和 3.0 都是 double 类型的常量。它们的乘积也是 double 型的。在进行赋值的时候,这个乘积被转化成 float 类型,然后再赋值给 var_f。
当然,我们也可以指定浮点型常量的类型。在浮点型常量后面添上 f 或者 F,编译器就会用 float 类型来处理这个常量。例如:1.5f,2.1e6F。在后面添上 l 或者 L 的话,编译器会用 long double 类型来处理这个常量。例如:4.1l,50.2E5L。最好用大写 L,因为小写 l 容易和数字 1 混淆。

标準规定

对于 float 型,E 后面的阶码的取值範围至少要达到 -37 到 +37。对 double 和 long double 的规定同样如此。
C99 新增了一种表示浮点型常量的格式:使用十六进制前缀(0x 或 0X,0 是数字 0,不是字母 o ),用 p或 P 代替前面所说的 e 或 E,而且阶码代表的是 2 的阶码次方。例如:
0xb.1ep9
其中 b 等于十进制中的 11, .1e 等于 1/16 加 14/256, p5 等于 2^9,也就是 512。这个浮点型常量转换成十进制就是:(11 + 1/16 +14/256)*2^5 = 5692

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com