我試圖將位添加到__int128(使用clang編譯器和64位系統),但失敗。__int128的位處理
__int128 x = 0; //DECLARING AND INITIALIZING X
x |= ((static_cast<__int128>(1)) << 95); //ADDING A '1' TO 95th BIT (from right)
std::cerr<< std::bitset<100>(x) << std::endl; //PRINTING BITSET
打印:
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
我知道有短形式我可以用無符號的int或長長整型,如
(1U < < 15)或(1LL < < 15) ,但我還沒有找到任何128位等價物。
我需要做什麼使這項工作?
很不錯的缺口;) – Pavel