gpt4 book ai didi

c - 是否有标准的 C 方法来打印浮点值 "perfectly"a la Dragon4?

转载 作者:太空狗 更新时间:2023-10-29 15:05:38 24 4
gpt4 key购买 nike

阅读 Here be dragons: advances in problems you didn’t even know you had我注意到他们将新算法与 glibc 的 printf 中使用的算法进行了比较:

Grisu3 is about 5 times faster than the algorithm used by printf in GNU libc

但与此同时,我没能找到 printf 的任何格式说明符这将自动找到要打印的最佳小数位数。我尝试过的所有设置都有一些奇怪的默认值,例如 %f 的小数点后 6 位数字。或 %g 点后 2或 %e 点后 6 .

我如何实际使用文章中提到的 glibc 中的算法实现? glibc 中真的有这样的实现吗?标准甚至以任何方式讨论过它吗?

最佳答案

This是实际的文章。博文引用了第 7 节中的结果(换句话说,“他们”没有比较博文中的任何内容,“他们”只是重复实际文章中的信息,省略了关键细节):

table of results with information

在现代编程语言的实现中可以找到 Dragon4 或 Grisu3 的实现,这些实现指定了这种“最小小数位数”方式(我建议您避免称其为“完美”)。 Java 在某些情况下使用这种类型的十进制转换,Ruby 也是如此。 C 不是指定“最小十进制数”转换为十进制的语言之一,因此编译器或 libc 没有理由为 Dragon4 或 Grisu3 提供实现。

关于c - 是否有标准的 C 方法来打印浮点值 "perfectly"a la Dragon4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30617131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com