C语言中&、&&、|、||

&——按位与运算,口诀:有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 

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;
}

运算结果:

C语言中&、&&、|、||_第1张图片

参考:C语言中数的二进制、八进制、十进制以及十六进制表示及输出

你可能感兴趣的:(C语言,c语言)