双精度的有效十进制数
Significant decimal digits of double?
C/c++ -Standard对double
的最小有效十进制位数有什么保证?
c++标准实际上在§18.3.2.4/10的脚注中说,这相当于C标准中定义的DBL_DIG
。但是我在C标准中找不到关于最小值的任何内容。
那么,下列其中一个的最小值是多少?
-
std::numeric_limits<double>::digits10
-
DBL_MANT_DIG
编辑:No,DBL_DIG
您不会在c++标准中找到它,因为c++在这一点上遵循C标准。对于十进制数字,最小值为:
FLT_DIG 6
DBL_DIG 10
LDBL_DIG 10
因此,float
为6位,double
和long double
为10位。(这是保证从文本到类型再转换得到相同值的位数。)
注意,DBL_MANT_DIG
对应的是进制的位数,因此通常是二进制的位数,而不是十进制的位数。
相关文章:
- visual在c++中将十进制数转换为二进制数
- C++从二进制转换为十进制数
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 将分数转换为十进制数并对其进行排序
- 使用标准库计算字符串中的十进制数
- (第 1 位 + 第 2 位)以十进制数表示
- 如何通过输入十进制数打印UTF-8符号?
- 如何使用链表将负十进制数转换为二进制?
- 二进制反转为十进制数
- 以C++格式将十六进制字符串转换为十进制数
- 如何在C++中使用setiosflags打印出十进制数作为八进制数
- 将字节数组转换为 C++ 中的十进制数
- 为什么如果(!(cin >> int)) 在第一次迭代中接受十进制数,但不接受其他十进制数?
- 在 c++ 中使用 setfill() 以特定格式打印十进制数
- 您能否给我一个 16 位(或更多)十进制数,该十进制数仅在第 15 位正确转换为双精度浮点圆
- 使用堆栈将十进制数转换为二进制数
- 如何确定十进制数的完美幂?
- 使用 for 循环更改二进制数>十进制数
- 将浮点数转换为字符串,并指定精度和十进制数字数?
- 双精度的有效十进制数