私が検索キーとしてu_int64_t
変数を使用したい、32ビットマシンではu_int64_tを使用できますか?
は、32ビットマシン上で利用可能u_int64_t
のですか?
もしそうでなければ、この変数を2つの変数に分割する必要がありますか?検索キーとして、もう少し面倒です
このための回避策はありますか?
私が検索キーとしてu_int64_t
変数を使用したい、32ビットマシンではu_int64_tを使用できますか?
は、32ビットマシン上で利用可能u_int64_t
のですか?
もしそうでなければ、この変数を2つの変数に分割する必要がありますか?検索キーとして、もう少し面倒です
このための回避策はありますか?
符号なし64ビット整数型は、C標準では保証されていませんが、通常は32ビットマシンおよびLinuxを実行するすべてのマシンで使用できます。存在する場合、タイプはuint64_t
(アンダースコアが1つ少ないことに注意)となり、<stdint.h>
ヘッダーファイルで宣言されます。
少なくとも64ビット幅の符号なし整数は、 'uintleast64_t'(typedef in '
@rubenvb: 'long long'は* 64ビットより大きい*に*許されていることに注意してください。 – DevSolar
@DevSolar rubenvbのコメントは「**少なくとも64ビット幅**」と言っています。一方、OPは64ビットタイプだけを望んでおり、まったく64ビットのものをサポートせずにより広いタイプをサポートするかもしれないまれなアーキテクチャは気にしません。 – user4815162342
はい32ビットマシンで64ビット整数型がサポートされています。
標準では、long long(≧64、≥size of long)タイプはGNU extensionとしてサポートされています。 C99規格では、long long(≧64、≥size of long)整数の場合にはnative supportが存在します。
'long long'は64ビットより大きいと*許可されていることに注意してください。 – DevSolar
ええ、あなたはまあまあ、64ビット幅以上(稀です)長いことができますが、訂正のおかげで:) –
ドキュメンテーションの一部または読んだ通りの使用のための非常に明確ではない __GLIBC_HAVE_LONG_LONG is the one that defines its presense in 32 bit architecture
aprobableソリューションは、これはLinuxの
にある道メートが
以下ああのようなものかもしれません@ unwindあなたの[編集](http://stackoverflow.com/posts/16521066/revisions)は非常に邪魔です。 OPは、タイプの正しい命名について混同される可能性があります。この混乱は、質問を静かに編集するのではなく、回答またはコメントで解決する必要があります。さらに、正当な理由で段落全体を削除しました。編集内容を元に戻してください。 – user4815162342
@ user4815162342これを指摘してくれてありがとう。私は実際のタイプがそのように綴られていることに気づいていなかったので、それはタイプミスであると仮定しました。また、実際に編集を元に戻すためのGrijesh(私が推測する)に感謝します。 – unwind