C语言提供6种位运算
按位与中:不是说两个相应的二进制位都为1,则结果为1,否者为0
那应该结果值类型不是0就是1呀?有以下程序:
#include<stdio.h>
main(){
int a=1,b=2,c=3,x;
x=(a^b)&c;
printf("%d\n",x);
}
结果为什么是32而不是1?
按位异或^:两个二进制相同则结果为0,不同则为1;
按位求反~:0变1,1变0;
C语言提供6种位运算
按位与中:不是说两个相应的二进制位都为1,则结果为1,否者为0
那应该结果值类型不是0就是1呀?有以下程序:
#include<stdio.h>
main(){
int a=1,b=2,c=3,x;
x=(a^b)&c;
printf("%d\n",x);
}
结果为什么是32而不是1?
按位异或^:两个二进制相同则结果为0,不同则为1;
按位求反~:0变1,1变0;