1. ホーム
  2. c++

[解決済み] C++のintとlongの違いは何ですか?

2022-07-22 14:31:22

質問

間違っていたら訂正してください。

intは4バイトで、値の範囲は-2,147,483,648~2,147,483,647(2^31)です。

longは4バイトで、値の範囲は-2,147,483,648~2,147,483,647 (2^31)です。

C++ではどのような違いがあるのでしょうか。 互換性を持って使用できるのでしょうか?

どのように解決するのですか?

実装に依存します。

たとえば、Windows では同じですが、たとえば Alpha システムでは long は 64 ビットであるのに対し、int は 32 ビットでした。 これは 記事 は、可変プラットフォームにおける Intel C++ コンパイラのルールをカバーしています。 要約すると

  OS           arch           size
Windows       IA-32        4 bytes
Windows       Intel 64     4 bytes
Windows       IA-64        4 bytes
Linux         IA-32        4 bytes
Linux         Intel 64     8 bytes
Linux         IA-64        8 bytes
Mac OS X      IA-32        4 bytes
Mac OS X      Intel 64     8 bytes