首先要知道一些关于计算机存储的知识,
- 计算机内部存储数据都是按照二进制存储的,
- 一个字节【byte】是八个位【bit】
- 比如十进制的2存储在计算机中是二进制的:0000 0010
- 位运算就是对计算机二进制的计算
运算方式 :按照逻辑或的方式来进行
例如: 2|1
0000 0010
0000 0001
0000 0011
就是十进制的3
按位与运算 &
运算方式 :按照逻辑与的方式来进行
例如: 2&1
0000 0010
0000 0001
0000 0000
就是十进制的0
按位异或运算 ^
运算方式 :上下两个不同就是真 -》1 如果相同就是 0
例如: 2^1
0000 0010
0000 0001
0000 0011
就是十进制的3
按位左移运算<< //正负数【有无符号】无区别 x=x*2n
运算方式 :就是将数值所有的位向左移动指定的位数 超过的砍掉 没有的补0
例如: 2<<5
0000 0010
0001 0000
就是十进制的64
按位右移运算 //正负数【有无符号】有区别 待补上...
1.正数的情况下
>>和>>>没有区别
都是向左移动指定的位数
例如: 64>>5
0001 0000
0000 0010
就是十进制的2
2.负数的情况行下
操作的是负数