9.19 位运算(下)
寄存器读写操作
1 .
#include<stdio.h>
#define BIT_0 0x1
#define BIT_1 0x1<<1
#define BIT_2 0x1<<2
#define BIT_3 0x1<<3
#define BIT_5 0x1<<5
#define BIT_6 0x1<<6
#define BIT_9 0x1<<9
#define BIT_12 0x1<<12
#define BIT_23 0x1<<23
int main1(void)
{
printf("%X\n",0xF0|(BIT_0|BIT_1|BIT_2|BIT_3)); //低4位置1
printf("%X\n",0xFF&0xFFFFFFF0);
printf("%X\n",0xFF& ~(BIT_0|BIT_1|BIT_2|BIT_3));//高4位置0
return 0;
}
2.
操作要求
对寄存器的bit_0、 bit_5、 bit_9置一
对寄存器的bit_6、 bit_12、 bit_23清零
#include<stdio.h>
#define BIT_0 0x1
#define BIT_1 0x1<<1
#define BIT_2 0x1<<2
#define BIT_3 0x1<<3
#define BIT_5 0x1<<5
#define BIT_6 0x1<<6
#define BIT_9 0x1<<9
#define BIT_12 0x1<<12
#define BIT_23 0x1<<23
int main(void)
{
int a = 0x00;
printf("%X\n",a);
a |= (BIT_0|BIT_5|BIT_9);
printf("%X\n",a);
a &= ~(BIT_0|BIT_5|BIT_9);
printf("%X\n",a);
return 0;
}