a = 10101010;
把第3(n)位设为1(从右数)
result = a | 1 << 2
公式:result = a | 1 << (n-1)
把第4位设成0
result = a & ~(1 << 3)
公式:result = a & (~(1 << (n-1)))
验证第4位是否为1
return a & (1 << (n-1)) != 0
不等于0代表第4位为1,等于0代表第4位为0
正数 to 负数:
result = ~a + 1
负数 to 正数:
result = ~(a-1)
左移:
溢出的丢弃,低位补0
右移:
溢出的丢弃,高位补符号位
无符号右移:
符号位跟着一起移动,溢出的丢弃,高位补0