#include <stdio.h>
#define pi 3.14159
int main(void)
{
int x,y;
x=10;
y=12;
/*开始执行各种操作运算符的计算*/
printf("\n~x= %d",(~x));
printf("\nx&y= %d",(x&y));
printf("\nx|y= %d",(x|y));
printf("\nx^y= %d",(x^y));
printf("\nx<<2= %d",(x<<2));
printf("\nx>>2= %d",(x>>2));
return 0;
}
//结果:~x =-11
//x&y =8
//x|y =14
//x^y =6
//x<<2 =40
//x>>2 =2
针对上面的内容进行分析10的二进制为0000 1010
12的二进制为 0000 1100
1、~x取反,可以对0000 1010进行取反,结果为11110101,所以为-11
注意:补充:-11转化成二进制,先写出11的二进制为:00001011,对它取反:11110100,
然后加上1为 11110101,所以最后-11的二进制为11110101。
2、x&y 可以写成 00001010 &00001100,结果为00001000,所以10进制为8
3、x|y 可以写成 00001010 |00001100,结果为00001110,所以二进制为14
4、x^y 为位异或,标准为0^1=1,0^0=0,1^1=0,1^0=1,所以为00000110,结果为6
5、x<<2 ,表示左移两位,所以为00101000,结果为40
6、x>>2,表示右移两位,所以为00000010,结果为2