// 请编程,实现以下操作: 定义unsigned char 型变量a,赋值0x7f, // 将其第1、5、7位置1,2、3、6位清0,其它位保持不变。 #include void printBinary(char num) { int size = sizeof(num); for (int i = size * 8 - 1; i >= 0; i--) { int bit = (num >> i) & 1; printf("%d", bit); } printf("\n"); } int main() { unsigned char a = 0x7f; // 十六进制 printf("原样输出: "); printBinary(a); a |= 0b1010001; // 0b 表示二进制数的标识符 printf("1、5、7位置1输出: "); printBinary(a); a &= ~0b100110; printf("2、3、6位清0输出: "); printBinary(a); printf("结果的十六进制输出: "); printf("0x%hhx\n", a); // 0x59 return 0; }