📅  最后修改于: 2023-12-03 15:22:49.463000             🧑  作者: Mango
计算机中常用的数值类型有单精度(float)和双精度(double)。
单精度在内存中占用4个字节(32位),能够精确表示6-7位有效数字,范围为-3.4E38
到3.4E38
。
双精度在内存中占用8个字节(64位),能够精确表示15-16位有效数字,范围为-1.7E308
到1.7E308
。
-3.4E38
到3.4E38
,而双精度的范围为-1.7E308
到1.7E308
。#include <stdio.h>
int main() {
float fnum = 1.11111111111111111111111111111111f;
double dnum = 1.11111111111111111111111111111111;
printf("Single precision: %f\n", fnum);
printf("Double precision: %lf\n", dnum);
return 0;
}
输出结果为:
Single precision: 1.111111
Double precision: 1.1111111111111112
可以看出,双精度的输出结果更加精确。同时,需要注意在使用单精度时应指定为float
类型,而双精度不需要。