67

2 つの 64 ビット数値の乗算の結果を格納したいので、128 ビット整数が必要です。gcc 4.4以降にそのようなものはありますか?

4

3 に答える 3

33

ああ、大きな整数は C の得意分野ではありません。

GCC にはunsigned __int128/__int128タイプがあり、バージョン 4.something から始まります (ここではわかりません)。ただし、その__int128_t前にデフがあったことを覚えているようです。

これらは 64 ビット ターゲットでのみ使用できます。

uint128_t(編集者注: この回答は、 gcc がおよび を定義していると主張するために使用さint128_tれていました。Godbolt コンパイラ エクスプローラーでテストしたバージョンのいずれも、__gcc4.1 から 8.2 まで、または clang または ICC から先行せずにこれらの型を定義していません。)

于 2013-04-18T16:31:29.550 に答える