与、或、异或、左移、右移操作符

注意都是对二进制进行操作

1. 与运算(&)

同1为1,否则为0

eg: 
1&1  0b01 & 0b01 = 0b01  1
1&0  0b01 & 0b00 = 0b00  0
0&1  0b00 & 0b01 = 0b00  0
0&0  0b00 & 0b00 = 0b00  0

2. 或运算(|)

有1为1,否则为0

eg: 
1|1  0b01 | 0b01 = 0b01  1
1|0  0b01 | 0b00 = 0b01  1
0|1  0b00 | 0b01 = 0b01  1
0|0  0b00 | 0b00 = 0b00  0

3.异或运算(^)

相异为1,否则为0

eg:
1^1  0b01 ^ 0b01 = 0b00  0
1^0  0b01 ^ 0b00 = 0b01  1 
0^1  0b00 ^ 0b01 = 0b01  1 
0^0  0b00 ^ 0b00 = 0b00  0

4.左移(<<)

将二进制整体向左移动,即在其右边补上0(超过长度限制暂时不研究了)

eg:
2<<3
0b10<<3
0b10000
等于16

5.右移(>>)

将二进制整体向右移动,"抹掉"最右边的几位二进制,在其左边补上0

eg:
2>>3
0010>>3
// 过程:抹掉了010这三位二进制,并加上000
0000
等于0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。