//口诀:置位用|,复位用&,取反用^
unsigned int temp; //定义无符号整形变量temp
//置位 temp的bit3为1,其他位不变
temp |= (1 << 3);
//置位 temp的bit3~bit7为1,其他位不变
temp |= (0x1f << 3);
//置位 temp的bit0~bit3为1,bit8~bit11为1,其他位不变
temp |= ( (0xf << 0) | (0xf << 8) );
//复位 temp的bit10为0,其他位不变
temp &= ~(1 << 10);
//复位 temp的bit10~bit13为0,其他位不变
temp &= ~(0xf << 10);
//复位 temp的bit0~bit3为0,bit8~bit11为0,其他位不变
temp &= ~( (0xf << 0) | (0xf << 8) );
//取出 temp的bit3~bit8,其余位清零
unsigned int a;
a = temp & (0x3f << 3);
//取反 temp的bit9取反,其他位不变
temp ^= (1 << 9);
网友评论