Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
值a和b具有相同的输出:
a
b
int a = 0xEFEFEFEF; long b = 0xEFEFEFEF; cout << a << endl << b << endl;
我听说一个long类型有更多的计算处理时间,因为long应该转换int为计算。真的是int更快long吗?
long
int
这个问题不可能在某种意义上普遍回答是否long比 快int。
该代码可以在具有 32 位long和 16 位的 16 位平台上运行,在该平台int上int可能会更快 - 但不一定。另一方面,在具有 32-bitint和 64-bit的本机 32-bit 平台上long,long可能会更快 - 但不一定。
所以它依赖于平台,依赖于编译器。最重要的是,通常对目标 CPU 的本机字长类型的操作并不比可能需要将宽度转换为本机大小的操作慢(通常更快)。