私には機能がありますfoo(unsigned __int128)
。unsigned __int128
型のリテラルを関数に渡すにはどうすればよいですか? 私の試み:
foo(0xFFFFFFFFFFFFFF23FFFFF); //Truncated (expected)
foo(0xFFFFFFFFFFFFFFF01FFFu); //Truncated (expected)
foo(0xFFFFFFFFFFFFFFF23FFFFull); //Truncated
foo((unsigned __int128)0xFF45FFFFFFFFFFFFFFFFFull); //Truncated
ご覧のとおり、それらはすべて切り捨てられています。リテラルが であることを GCC に通知するにはどうすればよいunsigned __int128
ですか?
編集:gccマニュアルには次のように書かれています:
GCC では、128 ビット幅未満の long long 整数を持つターゲットに対して __int128 型の整数定数を表現することはサポートされていません。
つまり、型 (unsigned) __int128 のリテラルを記述できないということですか?
代替手段はありますか?