int 和 double 有不同的语义。考虑分裂。 1/2 是 0 , 1.0/2.0 是 0.5 在任何给定情况下,这些答案中的一个是正确的,另一个是错误的。 也就是说,有一些编程语言,例如 JavaScript,其中 64 位浮点数是唯一的数字数据类型。您必须显式截断一些除法结果才能获得与 Java int 相同的语义。 Java 等支持整数类型的语言会自动截断整数变量。 除了具有与 double 、 int 不同的语义外,算法通常更快,而且更小的大小(32 位与 64 位)可以更有效地使用缓存和数据传输带宽. 原文由 Patricia Shanahan 发布,翻译遵循 CC BY-SA 3.0 许可协议
int
和double
有不同的语义。考虑分裂。1/2
是0
,1.0/2.0
是0.5
在任何给定情况下,这些答案中的一个是正确的,另一个是错误的。也就是说,有一些编程语言,例如 JavaScript,其中 64 位浮点数是唯一的数字数据类型。您必须显式截断一些除法结果才能获得与 Java
int
相同的语义。 Java 等支持整数类型的语言会自动截断整数变量。除了具有与
double
、int
不同的语义外,算法通常更快,而且更小的大小(32 位与 64 位)可以更有效地使用缓存和数据传输带宽.