<分区>
值 a
和 b
具有相同的输出:
int a = 0xEFEFEFEF;
long b = 0xEFEFEFEF;
cout << a << endl << b << endl;
我听说 long
类型的计算处理时间更长,因为 long
应该转换为 int
进行计算。 int
真的比 long
快吗?
<分区>
值 a
和 b
具有相同的输出:
int a = 0xEFEFEFEF;
long b = 0xEFEFEFEF;
cout << a << endl << b << endl;
我听说 long
类型的计算处理时间更长,因为 long
应该转换为 int
进行计算。 int
真的比 long
快吗?
最佳答案
从某种意义上说,这个问题不可能得到普遍回答,是否 long
比 int
快。
代码可以在具有 32 位 long
和 16 位 int
的 16 位平台上运行,int
将在该平台上运行可能会更快 - 但不一定。另一方面,在具有 32 位 int
和 64 位 long
的 native 32 位平台上,long
可能更快- 但不一定。
所以它依赖于平台,依赖于编译器。最重要的是,通常 objective-c PU 的 native 字长类型上的操作不会比可能需要转换的操作慢(通常更快)宽度为原始大小。
关于c++ - int 比 long 快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157453/