gcc は __int128 型をネイティブに持っています。
ただし、limits.h では定義されていません。INT128_MAX
つまり、または…などはありませんINT128_MIN
</p>
また、gcc はリテラル定数を 64 ビット整数として解釈しています。これは、私が書く#define INT128_MIN −170141183460469231731687303715884105728
と、値が切り捨てられたことを伝える型について不平を言うことを意味します。
これは、配列をシフトする場合に特に厄介です。これを克服する方法は?