社区讨论

求助printf细节

学术版参与者 6已保存回复 30

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
30 条
当前快照
1 份
快照标识符
@lo8phzep
此快照首次捕获于
2023/10/27 22:26
2 年前
此快照最后确认于
2023/10/27 22:26
2 年前
查看原帖
首先,浮点数是按照类似以2为底的科学计数法存储的。
这就意味着虽然浮点数存大数有误差,但可以精确求出2的次幂。
所以会有以下代码(部分):
CPP
double a=1;
for(int i=1;i<=k;++i)a=a*2;
printf("%.lf\n",a);
经测试结果和高精无异,但速度快了许多。
所以我想知道printf内部怎么实现输出浮点的(搜索浮点输出无果,本机的printf源码过于奇怪也看不懂)

回复

30 条回复,欢迎继续交流。

正在加载回复...