2

longプリミティブ データ型の C++ バリアントはありますか?
C++longはわずか 4 バイトですが、Javalongは 8 バイトです。

では、C++ にサイズが 8 バイトの非 10 進プリミティブ型はありますか?
多分いくつかのトリックで?

ありがとう

4

3 に答える 3

4

Microsoft Visual C++ は、__int64Java のlong. gccは持っていint64_tます。ISO C99 標準で定義されたタイプもありますがlong long int、標準によれば、少なくとも64 ビット幅ですが、それよりも広い可能性があります。

ただし、サイズとは別に、考慮すべきエンディアンもあります。Java標準ではビッグエンディアンが義務付けられていますが、Cでは、エンディアンは常にプラットフォームに依存しています。

于 2010-07-14T10:45:25.180 に答える
3

C++ にはlong long、長さが 64 ビットの型があります (ほとんどのプラットフォームで)。

于 2010-07-14T10:44:12.397 に答える
2

C++11 以降、ヘッダーには固定幅の整数型があります。あなたのシナリオでは、 or<cstdint>を使用したいと思うでしょう。std::int64_tstd::uint64_t

これは C++11 言語仕様の一部であるため、プラットフォームとコンパイラの互換性が保証されている必要があります。

于 2017-06-14T22:29:18.990 に答える