long
プリミティブ データ型の C++ バリアントはありますか?
C++long
はわずか 4 バイトですが、Javalong
は 8 バイトです。
では、C++ にサイズが 8 バイトの非 10 進プリミティブ型はありますか?
多分いくつかのトリックで?
ありがとう
long
プリミティブ データ型の C++ バリアントはありますか?
C++long
はわずか 4 バイトですが、Javalong
は 8 バイトです。
では、C++ にサイズが 8 バイトの非 10 進プリミティブ型はありますか?
多分いくつかのトリックで?
ありがとう
Microsoft Visual C++ は、__int64
Java のlong
. gccは持っていint64_t
ます。ISO C99 標準で定義されたタイプもありますがlong long int
、標準によれば、少なくとも64 ビット幅ですが、それよりも広い可能性があります。
ただし、サイズとは別に、考慮すべきエンディアンもあります。Java標準ではビッグエンディアンが義務付けられていますが、Cでは、エンディアンは常にプラットフォームに依存しています。
C++ にはlong long
、長さが 64 ビットの型があります (ほとんどのプラットフォームで)。
C++11 以降、ヘッダーには固定幅の整数型があります。あなたのシナリオでは、 or<cstdint>
を使用したいと思うでしょう。std::int64_t
std::uint64_t
これは C++11 言語仕様の一部であるため、プラットフォームとコンパイラの互換性が保証されている必要があります。