質問

4バイト以上に及ぶ可能性のある符号なし整数を使用する必要があります。どのタイプを使用する必要がありますか?

PS <!> quot; noobism <!> quot;でごめんなさい。しかし、それだけです:D

NB:除算を行う必要があり、整数部分のみに注意する必要があるため、整数が必要です。このように、intは便利です

役に立ちましたか?

解決

long long 、64ビット整数... こちらでは、データ型と範囲に関するリファレンスを見つけることができます...

他のヒント

単に<!> lt; stdint.h <!> gt;を含めます。 int64_tとuint64_tを使用します(符号なしが必要なため、uint64_tが必要です)。

このヘッダーには、最小バリアント(uint_least64_tは少なくとも64ビットのタイプ)や高速バリアント(uint_fast64_tは少なくとも64ビットの最速整数タイプ)など、他の便利なバリアントがいくつかあります。また、intptr_t / uintptr_t(void *ポインターに十分な大きさ)およびintmax_t / uintmax_t(最大型)も非常に便利です。

また、何らかの理由でコンパイラに<!> lt; stdint.h <!> gt;がない場合(IIRCはC ++ではなくC標準なので)、Boostの boost / cstdint.hpp (<!> lt; stdint.h <!> gt;がある場合でも使用できます。その場合、コンパイラのヘッダーに単に転送する必要があるためです) 。

選択してください:

long long(<!>#8211; 9,223,372,036,854,775,808から9,223,372,036,854,775,807)

unsigned long long:(0〜18,446,744,073,709,551,615)

本当に長い整数(任意の精度)が必要な場合は、 gmp ライブラリも試してみてください。 C ++クラスベースのインターフェース。

unsigned long long-少なくとも64ビット長

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top