浮点型常量【浮点型常量】浮点型常量有多种写法 。其基本形式是首先写整数部分(可以带符号),接着写小数部分,然后写 e或者 E,最后再写一个有符号整数 。
基本介绍中文名:浮点型常量
外文名:Floating point constants
基本形式:符号整数部分小数部分E指数部分
例子:+1.2E+5
注意:浮点型常量中不能有空格
写法例如:+1.2E+51.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..53.143e6.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