小数的表示形式
- 小数可以是由.分割表示 -> 66.66
也可以用指数形式表示:
aEn 或 aen
a 为尾数部分,是一个十进制数;n 为指数部分,是一个十进制整数;E或e是固定的字符,用于分割尾数部分和指数部分。整个表达式等价于 a×10^n。
2.1E5 = 2.1×10^5,其中 2.1 是尾数,5 是指数。小数的类型
float 单精度浮点型
- 长度始终占用4个字节
- double 双精度浮点型
- 长度始终占用8个字节
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快
- 长度始终占用8个字节
小数的输出方式
- %f 以十进制形式输出 float 类型;
- %lf 以十进制形式输出 double 类型;
- %e 以指数形式输出 float 类型,输出结果中的 e 小写;
- %E 以指数形式输出 float 类型,输出结果中的 E 大写;
- %le 以指数形式输出 double 类型,输出结果中的 e 小写;
- %lE 以指数形式输出 double 类型,输出结果中的 E 大写。
- %g 更加智能的输出方式。%g 会对比小数的十进制形式和指数形式,以最短的方式来输出小数,让输出结果更加简练。所谓最短,就是输出结果占用最少的字符。
%f 和 %lf 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。 %f 和 %e 默认保留六位小数,只包括小数部分 %g 默认最多保留六位有效数字,包括整数部分和小数部分,不会在最后强加 0 来凑够有效数字的位数
数字的后缀
一个数字,是有默认类型的:对于整数,默认是 int 类型;对于小数,默认是 double 类型。
将一个整数100赋值给long 必须先从 int 类型转换为 long 类型。
52.55 和 18.6 这两个数字默认都是 double 类型的,将 52.55 赋值给 float,必须先从 double 类型转换为 float 类型
如果不想让数字使用默认的类型,那么可以给数字加上后缀,手动指明类型: