1、内存大小端
内存小端:内存低地址存放低数据位,内存高地址存放高数据位
内存大端:内存低地址存放高数据位,内存高地址存放低数据位
2、位运算
& 按位与 与0得0
| 按位或 或1置1
^ 按位异或 相同为0,相异为1
~ 按位取反
>> 右移 右移n位 = 缩小, 数据 / 2^n
<< 左移 左移n位 = 放大, 数据 * 2^n
将字节中第n位置1:
num = num | (1 << n);
将字节中第n位置0:
num = num & ~(1 << n);
不使用中间变量实现两个变量值的交换:
a = a ^ b;
b = a ^ b;
a = a ^ b;