关于一些基本运算符代码的运算

#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
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值