为什么有人会使用 int 而不是 double 呢?
似乎 double 比 int 更加灵活。
似乎 double 比 int 更加灵活。
int
和double
的语义不同。考虑到除法。 1/2
的结果是0
,1.0/2.0
的结果是0.5
。在任何情况下,其中一个答案是正确的,另一个是错误的。
尽管如此,有一些编程语言(例如JavaScript)只支持64位浮点数类型的数字数据。为了获得与Java中的int
相同的语义,您必须显式截断某些除法结果。而像Java这样支持整数类型的语言会自动对整数变量进行截断。
除了与double
不同的语义之外,int
算术通常更快,并且较小的大小(32位对比64位)可更有效地使用缓存和数据传输带宽。
整数的操作是精确的。 double
是一种浮点数据类型,而浮点操作在存在分数时是近似的。
double
在许多实现中(例如大多数32位系统)占用的空间是 int
的两倍。
int是一个整数的二进制表示,double是一个双精度浮点数。
简短回答:
int
占用四个字节的内存(且不能包含小数),而 double
则占用八个字节的内存。这只是不同目的所使用的不同工具。
sizeof(int)
可能是你最好的选择,以确保正确。但是你知道现在是否还存在2字节整数吗? - IDDQD