当我将无符号8位整数转换为字符串时,我知道结果最多只有3个字符(对于255),而对于有符号的8位整数,例如“-128”,我们需要4个字符。
现在我真正想知道的是浮点数值的相同情况。要将任何“double”或“float”值表示为字符串所需的最大字符数是多少?
假设使用常规C/C++ double(IEEE 754)和常规十进制展开(即没有%e printf-formatting)。
我甚至不确定非常小的数字(即0.234234)是否会比表示整数的双倍更长?
现在我真正想知道的是浮点数值的相同情况。要将任何“double”或“float”值表示为字符串所需的最大字符数是多少?
假设使用常规C/C++ double(IEEE 754)和常规十进制展开(即没有%e printf-formatting)。
我甚至不确定非常小的数字(即0.234234)是否会比表示整数的双倍更长?
1.#INF00
,最大的数字长度为286字节。所以我猜你用512字节应该没问题吧?(使用printf)。 - Rookieprintf
格式来格式化std::string
。所以如果我得到一个双精度浮点数,我需要创建一个char[X]
缓冲区。 - Tomáš Zato