#include <stdio.h>
int main(void)
{
//定义一个无符号字符型变量,此变量只能用来存储无符号数
unsigned char result;
int a,b,c,d;
a = 2;
b = 4;
c = 6;
d = 8;
//对变量进行“按位与”操作
result = a & c;
printf("result = %d\n",result ); //2
//对变量进行“按位或”操作
result = b | d;
printf("result = %d\n",result ); //12
//对变量进行“按位异或”操作
result = a ^ d;
printf("result = %d\n",result ); //10
//对变量进行“取反”操作
result = ~a;
printf("result = %d\n",result ); //253
}
/**
按位与(&)运算符:参加运算的两个运算符,如果都为1,则该位为1,否则为0
按位或(|)运算符:两个相应位中只要有一个为1,则该位的结果为1.
按位异或(^)运算符:参加运算的两个相应位,同号则结果为0(假),异号则结果为1(真)
取反(~)运算符:他是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变为1,1变为0。
注意点:
--位运算符是对二进制按位进行运算,将十进制数转换为二进制然后按照进行上面的规则进行相关的操作。
--位运算符中除了取反运算符外,其他的均为二目运算符,既要求两侧各有一个变量
--位运算符是对字节或字节中的位进行测试、置位或者移位处理,这里字节或者字是针对c标准的char和int数据类型而言,因此,位操作不能用于float、double、long double、void及其他复杂类型
*/
来源:https://www.cnblogs.com/starshine-zhp/p/12381367.html