记录一个C语言下面的位运算方法

最近在看一段代码时候,发现位运算并不知道。记录一下
位运算是基于二进制的一种运算方法。

//两个基本十进制常量A=60, B=13
转为2进制后
A= 0011 1100
B= 0000 1101

1、位运算(位与&)

与运算:
0&0 = 0
0&1 = 0
1&0 = 0
1&1 = 1

A&B = 0000 1100    (十进制:12)

2、位运算(位或|)

或运算:
0|0 = 0
0|1 = 1
1|0 = 1
1|1 = 1

A|B = 0011 1101 (十进制:61)

3、异或(^)

异或运算:
0^0 = 0
0^1 = 1
1^0 = 1
1^1 = 0

A^B = 0011 0001   (十进制:49)

4、取法

5、左移运算(<<)

按照2进制像左移动指定位数。右边补0

A =  0011 1100
//左移两位后位
A<<2 = 00 1111 0000 

//左移四位后
A<<4 = 0011 1100 0000

6、右移运算(>>)

右移和左移相反。及按照二进制像右移动指定位数,左边补0

A =  0011 1100
//右移两位后位
A<<2 =  0000 1111

//右移四位后
A<<4 = 0000 0011

你可能感兴趣的:(记录一个C语言下面的位运算方法)