1、整理思维导图
2、将data中的第[7:4]位置1,保持其他位不变。[7:4]表示4-7bit位
给data的4-7bit位置1;
data|(1111 0000) ;
data|(0xF0<<4)
3、思考如何交换两个数
第一种方法:
int temp,a,b;
temp=a;
a=b;
b=temp;
第二种方法:
int a,b;
a=a+b;
b=a-b;
a=a-b;
第三种方法:
int a,b;
a=a^b;
b=a^b;
a=a^b;
4、把课上位运算的第2题,再整理一遍:
有unsigned char a; 1111 1111 ---->bit默认从0开始
给a的第6个bit置1--->或 a | 0100 0000 a|(0x1<<6)
给a的第4个bit置0--->于 a & 1110 1111 ~(0001 0000) = 1110 1111 a&~(0x1<<4)
给a的第5个bit取反--->异或 (同0异1) a ^ 0010 0000 a^(0x1<<5)