0

私はint64変数の関数を必要とするアプリケーションを開発しています。そして、offset64またはint64_tが私の必要性のために実行可能であると言われました...しかし、私は32ビットシステムでのint64のプロトタイプが何であるかを知りたいだけです...変数をどのように使用できますか。それは2つのULONGで構成される構造ですか?ありがとう!

4

2 に答える 2

2

通常、コンパイラが 32 ビット (またはそれ以下) のプラットフォームで 64 ビット整数型を透過的にサポートできない理由はありません。これは、それらが使用されるたびに小さなチャンクでそれらを処理するために必要なコードを生成できるためです。私の知る限り、C99準拠のコンパイラは、int64_tなどの型を定義するstdint.hヘッダーファイルを通じて64ビット型を透過的にサポートする必要があり、他の整数型と同じように使用できます。

[編集] 例:

#include <stdint.h>
#include <stdio.h>
int main(void) {
        int64_t x = 0x1000000000LL;

        x = x*2;
        printf("%llX\n", x);
}
于 2009-11-28T13:49:36.067 に答える
1

long long を使用してください。msvc と gcc の両方がサポートしています。

于 2009-11-27T09:17:09.767 に答える