|
是按位OR运算符,也称为包含OR。&
是按位AND运算符。
以下代码演示了如何使用按位OR运算符设置字节中的位。
OR值定义为第2
行的常量SET
,它的值是二进制00100000
。
示例代码
#include <stdio.h>
#define SET 32
char *to_binary(int n);
int main()
{
int bor,result;
printf("输入一个在 0 ~ 255 之间的数字: ");
scanf("%d",&bor);
result = bor | SET;
printf("\t%s\t%d\n",to_binary(bor),bor);
printf("|\t%s\t%d\n",to_binary(SET),SET);
printf("=\t%s\t%d\n",to_binary(result),result);
return(0);
}
char *to_binary(int n)
{
static char bin[9];
int x;
for(x=0;x<8;x++)
{
bin[x] = n & 0x80 ? '1' : '0';
n <<= 1;
}
bin[x] = '0';
return(bin);
}
执行上面示例代码,得到以下结果:
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
输入一个在 0 ~ 255 之间的数字: 168
10101000 168
| 00100000 32
= 10101000 168