34 lines
777 B
C
34 lines
777 B
C
// 请编程,实现以下操作: 定义unsigned char 型变量a,赋值0x7f,
|
||
// 将其第1、5、7位置1,2、3、6位清0,其它位保持不变。
|
||
#include <stdio.h>
|
||
|
||
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;
|
||
} |