float和double有什么区别?
我已经读过双精度和单精度之间的区别。 但是,在大多数情况下, float 和 double float 似乎是可互换的,即,使用一个或另一个似乎不影响结果。 真的是这样吗? 花车和双打何时可以互换? 它们之间有什么区别? #1楼 双精度为64,单精度(浮点数)为32位。 双精度数的尾数较大(实数的整数位)。 任何不准确之处都会加倍。 #2楼 浮点数的精度低于双精度数。 尽管您已经知道,但请阅读有关 浮点算法的知识, 以更好地理解。 #3楼 以下是C99标准(ISO-IEC 9899 6.2.5§10)或C ++ 2003(ISO-IEC 14882-2003 3.1.9§8)标准说: 共有三种浮点类型: float , double 和 long double 。 double 类型至少提供与 float 一样高的精度, long double 类型至少提供与 double 一样高的精度。 float 类型的值集是 double 类型的值集的子集; double 类型的值集合是 long double 类型的值集合的子集。 C ++标准增加了: 浮点类型的值表示形式是实现定义的。 我建议看一看优秀的 每位计算机科学家应该了解的关于浮点算法的知识 ,该 算法 深入地涵盖了IEEE浮点标准。 您将了解表示的详细信息,并且将意识到在幅度和精度之间要进行权衡。