&——按位与运算,口诀:有0为0,全1为1
|——按位或运算,口诀:有1为1,全0为0
&&——逻辑与运算,整体看做一位二进制,非0为1,
||——逻辑或运算
与运算:
a&0→0→清0
a&1→a→保持
或运算:
a|0→a→清零
a|1→1→置1
#include <stdio.h>
int main(void) {
int a = 0b00001111; //二进制数字
int b = 0b11110000; //八进制数字
printf("十六进制输出:\n"); //以十六进制形式输出
printf(" a=%#X\n", a); //X大写,则输出的前缀和字母都大写
printf(" b=%#X\n", b);
printf("&和&&的区别:\n");
printf(" a&b=%#X\n", a&b);
printf(" a&&b=%#X\n", a&&b);
printf("|和||的区别:\n");
printf(" a|b=%#X\n", a|b);
printf(" a||b=%#X\n", a||b);
printf("与运算的特性:\n");
printf(" 和0与清0:a&0=%#X\n", a&0);
printf(" 和1与保持:a&0XFF=%#X\n", a&0XFF);
printf("或运算的特性:\n");
printf(" 和0或保持:a|0=%#X\n", a|0);
printf(" 和1或置1:a|0XFF=%#X\n", a|0XFF);
return 0;
}
运算结果: