- <<、>>
① << 左移 乘以2^n
m << n m*(2^n)
eg:4: 0 0 1 0 0
8: 0 1 0 0 0
[数据、数字]移位
左移:右侧补0
1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0
1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 ====》-1 1 1 1 1 1 1 1 0 ====》-2
右移:补符号 (整数补0,负数补1)
②>> 右移 除以2^n
- &(与)清零器
①屏蔽
eg:int a = 0x1234
a & 0xff00; 屏蔽低八位,取出高8位。
②取出
eg:A & 1 => A
- | (或)设置
①保留
eg:A | 0 ===A
A | 1 ===1
注:eg:设置一个资源的5bit为高电平,其他为不变。
int a;
a = ( a | (0x1<<5)); ======> a | (0x1<<5);
eg:清除第五位
a = a & ~(0x1<<5); ======> a = a & (~(0x1<<n))
- ^ (异或)
1 ^ 1 = 0, 0 ^ 0 = 0'
1 ^ 0 = 1;
- ~ (取反)
0xf0 ~ 0xffff ff0f
- ()
①限制符 (a+b)*c
②函数访问 int fun();
- [] 内存访问的ID符号
- {} 函数体限制符
- -> 地址访问
- . 变量访问