我正在构建一个数据结构,它将每 2 位或 3 位设置为 64 位整数。
如果我可以交替地在这个结构中存储一个指针(当它们是树中的终端节点时,但这不相关),那对我来说会很方便。
出于我的表示的目的(保证设置最高或第二高位),如果可以假设指针永远不会设置其最高两位,即这个断言成立:
void *sixty_four_bit_pointer = a_valid_address();
bool always_zero = 0xC000000000000000 & sixty_four_bit_pointer;
那么我可以做到这一点!