1

私には機能があります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 のリテラルを記述できないということですか?

代替手段はありますか?

4

1 に答える 1