1ull << 64 是 UB。
1ull << 64
所以 k=64k=64k=64 的时候不要用 (1ull << k) - 1 - x 来取反,可以用 -1ull - x 取反。
(1ull << k) - 1 - x
-1ull - x