Daily Archives: August 16, 2007

64bit Integer in MinGWC

ちょっとだけ64bit整数を使う必要があって、gccでは、ちゃんとunsigned long long int (unit64_t)が使えて32bitマシンでも64bit整数が扱えることがわかったので、手軽に使えるgcc系統のmingwcで試すことにしました。コンパイル等は比較的すんなり通ったのですが、どうもprintfで書式指定に使えるはずのllが使えない。色々と調べていたら、mingw cでは、MicrosoftのCランタイムライブラリに依存していて、gccのll表記は使えなくて、printfではI64dとかI64uを使えば、ちゃんと64ビットの数値が表示できるということがわかったのでメモしておきます。 http://www.mingw.org/MinGWiki/index.php/long%20double C++(g++)の場合は、cout への出力はuint64_t型の変数をきちんと認識して自動的にフォーマットしてくれる。その代わり、今度は64bitの定数には、必ずLLかLLUを付けてやらないとコンパイルエラーにされてしまうので注意が必要。

Posted in コンピュータ, 技術 | Tagged , , , , | Leave a comment