【发布时间】:2020-05-10 08:36:04
【问题描述】:
用户将一个数字写入输入,它存储在一个字符串中。如何检查此数字是否包含在 float 类型的大小中,还是需要 double?
【问题讨论】:
-
总是(是的,总是)使用
double。如果没有充分的理由,甚至不要考虑float或long double。 老师告诉我使用float只是在要求澄清/证明之后的一个强有力的理由。 -
你在说什么数字?
-7000000?0.0000000000042?3.14?3.14159265358979323846?7.3*10^365? -
你确实需要在编译时做出决定,这意味着检查传入的字符串不是一种选择。
-
这似乎是一个 XY 问题。通常,您不会根据输入选择变量的类型。您选择一种可以处理您想要的输入的类型。
-
@pmg:哦,停下。是的,这个特定的问题对于为什么在
float和double之间进行选择有些神秘,但是强调始终使用double的建议是不合适的。使用卷积、FFT 和类似算法处理 8 位传感器数据的人不需要double,它的内存占用会适得其反。大多数做神经网络处理的人不需要double。
标签: c floating-point double scanf ieee-754