左移和右移的运算规则_位运算~按位求反 <<左移 >>右移 & 位与 ^异或 | 位或...

文字有些对不准,建议下滑直接看图

/*

位运算

~:按位求反

<< : 左移

>> : 右移

& : 位与

^ : 异或

| : 位或

~按位求反

原理 : 0变1, 1变0;

eg 10001101

~01110010

左移 <<

原理:把数字向左移动, 右边补零

eg : 1 0 0 0 1 << 2

1 0// 0 0 1 0 0

右移 >>

原理 : 把数字向右移动, 左边补零

eg : 1 0 0 0 1 >> 2

0 0 1 0 0 //0 1

位与(&)

原理 : 按照并且关系进行相应的运算

eg: 1 0 0 1 0

& 0 1 1 1 0

----------------

0 0 0 1 0

异或(^)

原理:异或异或,相异为1,相同为0

eg: 1 0 0 0 1 1 0

^ 0 1 1 0 1 1 0

---------------------

1 1 1 0 0 0 0

位或(|)

原理:按照或者关系进行相应的运算

eg: 1 0 0 1 0

| 0 1 1 1 0

----------------

1 1 1 1 0

优先级别~ , (<>) , & , ^ , |*/

/*

#include

void main()

{

int a = 1, b = 2, c;

c = a ^ b << 2;

printf("%d", c);

}//9

*/

/*

先将十进制转换成二进制(化成八位)

0 0 0 0 0 0 1 0

0 0 0 0 1 0 0 0

^ 0 0 0 0 0 0 0 1

------------------

0 0 0 0 1 0 0 1=9

*/

cbc8f7ce367c5550575995760a3d7e2a.png
83fa719dcde1c55fffdc00cd17f7f60a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值