gpt4 book ai didi

c - 我需要多大的缓冲区?

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

对于存储在x 中的 double 值,在下面的函数调用中缓冲区 需要多大?

sprintf(buffer, "%.*g", DBL_DIG, x);

最佳答案

最坏的情况是:

  • 一减 - if number if negative
  • 一个小数点
  • DBL_DIG 十进制数字
  • 不应大于e+999 (*)
  • 的指数部分
  • 终止空值

所以缓冲区的大小应该是DBL_DIG + 8

(*) 根据 [IEEE float ] 上的维基百科页面, double 的指数部分最多为 21023 < 10308。所以指数的十进制表示最多需要3位。

当然,以上内容仅对符合 IEEE754 的浮点实现有意义(感谢 Basile Starynkevitch 的注意)

关于c - 我需要多大的缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27979441/

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