我想知道是否有人可以告诉我为什么有人会使用int而不是double? 似乎double比int更灵活。
由于
答案 0 :(得分:11)
int
和double
具有不同的语义。考虑分裂。 1/2
为0
,1.0/2.0
为0.5
。在任何给定的情况下,其中一个答案是正确的,另一个是错误的。
也就是说,有一些编程语言,比如JavaScript,其中64位浮点数是唯一的数字数据类型。您必须显式截断某些除法结果以获得与Java int
相同的语义。支持整数类型的Java等语言会对整数变量进行自动截断。
除了具有与double
不同的语义之外,int
算术通常更快,而较小的大小(32位对64位)可以更有效地使用高速缓存和数据传输带宽。
答案 1 :(得分:3)
对整数的操作是准确的。 double
是浮点数据类型,只要有一个分数,浮点运算就是近似值。
double
占用的空间也是int
的两倍。
答案 2 :(得分:-1)
简答:
int
占用4个字节的内存(并且它不能包含小数),double
使用8个字节的内存。只是用于不同目的的不同工具。
答案 3 :(得分:-1)
int是整数的二进制表示,double是双精度浮点数。