12桁の数字に使おうとしているlong
のですが、「整数定数は「long」型には大きすぎます」とのことで、C++とProcessing(Javaに似たもの)で試してみました。何が起こっていて、何を使用すればよいですか?
6577 次
4 に答える
5
C および C++ では (Java とは異なり)、 のサイズlong
は実装定義です。64 ビットの場合もあれば、32 ビットの場合もあります。後者の場合、10 進数 9 桁分のスペースしかありません。
64 ビットを保証するには、long long
型、または のような固定幅型のいずれかを使用できますint64_t
。
于 2011-06-21T00:06:00.043 に答える
3
リテラル定数を指定する場合は、適切な型指定子を使用する必要があります。
int i = 5;
unsigned i = 6U;
long int i = 12L;
unsigned long int i = 13UL;
long long int i = 143LL;
unsigned long long int i = 144ULL;
long double q = 0.33L;
wchar_t a = L'a';
于 2011-06-21T00:37:43.600 に答える
1
long long
gcc または__int64
msvc でa を使用してみてください。
于 2011-06-21T00:04:24.483 に答える
1
C ++ではわかりませんが、Cには、<stdint.h>
必要なビット数の整数型を移植可能に持つヘッダーファイルが呼び出されます。
int8_t
int16_t
int32_t
int64_t
およびそれらの署名されていない対応物 (uint8_t など)。
更新: ヘッダーは<cstdint>
C++ で呼び出されます
于 2011-06-21T00:09:51.427 に答える