流心
发布于 2024-04-26 / 1 阅读
0

浮点类型

类型

字长

范围

有效数字

float

32

±(1.20X10-38~3.40X1038),

0,±inf,nam

7

double

64

±(2.20X10-308~1.79X10308),

0,±inf,nam

15

输入输出

类型

scanf

printf

float

%f

%f,%e // %e会用科学计数法输出,而%f就是普通格式输出

double

%lf

%f,%e

输出精度

  • 在%和f之间加上.n可以指定输出小数点后几位,这样的输出是做4舍5入

    • printf("%.3f\n",-0.0049);

    • printf("%.30f\n",-0.0049);

    • printf("%.3f\n",-0.00049);

超过范围的浮点数

  • printf 输出 inf 表示超过范围的浮点数:±∞

  • printf 输出 nan 表示不纯在的浮点数

浮点数的内部表达

  • 浮点数的计算时是由专用的硬件部分实现的

  • 计算 double 和 float 所用的部件是一样的

选择浮点类型

  • 如果没有特殊需要,只使用 double

  • 现代 CPU 能直接对 double 做硬件运算,性能不会比 float 差,在 64 位的机器上,数据存储的速度也不比 float 慢