Tag: 位比特操作

uint64_t变量中C的按位移位运算

我有以下示例代码: uint64_t x, y; x = ~(0xF<<24); y = ~(0xFF<<24); 结果将是: x=0xfffffffff0ffffff y=0xfffff 有人可以解释这个区别吗? 为什么x计算超过64位而y仅计算在32位?