0

Values a and b have same output:

int a = 0xEFEFEFEF;
long b = 0xEFEFEFEF;
cout << a << endl << b << endl; 

I heard that a long type has more processing time to calculation because long should be cast to int for calculation. Is int really faster then long?

4

1 に答える 1

5

longこの質問は、より速いかどうかという意味で普遍的に答えることは不可能ですint

longコードは、32ビットと16ビットintの16ビットプラットフォームで実行できますint。おそらく高速ですが、必ずしもそうとは限りません。一方、32ビットintと64ビットを備えたネイティブ32ビットプラットフォームではlonglongより高速になる可能性がありますが、必ずしもそうとは限りません。

したがって、プラットフォームに依存し、コンパイラに依存します。結論として、通常、ターゲットCPUのネイティブワード長タイプでの操作は、幅をネイティブサイズにキャストする必要がある操作よりも遅くはありません(通常は高速です) 。

于 2012-06-22T13:50:17.697 に答える