社区讨论
求助printf细节
学术版参与者 6已保存回复 30
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 30 条
- 当前快照
- 1 份
- 快照标识符
- @lo8phzep
- 此快照首次捕获于
- 2023/10/27 22:26 2 年前
- 此快照最后确认于
- 2023/10/27 22:26 2 年前
首先,浮点数是按照类似以2为底的科学计数法存储的。
这就意味着虽然浮点数存大数有误差,但可以精确求出2的次幂。
所以会有以下代码(部分):
CPPdouble a=1;
for(int i=1;i<=k;++i)a=a*2;
printf("%.lf\n",a);
经测试结果和高精无异,但速度快了许多。
所以我想知道printf内部怎么实现输出浮点的(搜索浮点输出无果,本机的printf源码过于奇怪也看不懂)
回复
共 30 条回复,欢迎继续交流。
正在加载回复...