专栏文章
位运算
算法·理论参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mioyudlp
- 此快照首次捕获于
- 2025/12/03 03:23 3 个月前
- 此快照最后确认于
- 2025/12/03 03:23 3 个月前
位运算
左移
即左移(shl)
若 ,那么 为2:
: 0000000000000001
: 0000000000000010
所以 即 (但运算速度更快)
即
若 ,那么 为2:
: 0000000000000001
: 0000000000000010
所以 即 (但运算速度更快)
即
右移
即右移(shr)
类比左移。
即
类比左移。
即
或运算
即按位或(or)
: 101
: 010
: 111
原理就是比较的两位中有1结果就为1,没有就为0。
: 101
: 010
: 111
原理就是比较的两位中有1结果就为1,没有就为0。
与运算
& 即按位与(and)
: 101
: 010
& : 000
原理就是比较的两位中有0结果就为0,没有就为1。(与按位或相对)
: 101
: 010
& : 000
原理就是比较的两位中有0结果就为0,没有就为1。(与按位或相对)
非运算
~ 即按位取反(not)
: 101
~ : 010
就是把每一位修改为相反的值。(0变1,1变0)
: 101
~ : 010
就是把每一位修改为相反的值。(0变1,1变0)
异或
^ 即按位异或(xor)
: 1010
: 1100
^ : 0110
每一位相同为0,不同为1。
: 1010
: 1100
^ : 0110
每一位相同为0,不同为1。
一些操作
- 取一固定位值
例:取从左向右第2位
: 1010
: 0010
&() : 0010
某一位与上1,既保留原位。(0&1是0,1&1是1) - 设置固定位为0
例:将从左向右第2位设为0
: 1010
~ : 1101
& ~() : 0010
0可以将此位设为零,所以只要此位为零即可。(多位同理) - 固定位取反
: 1010
: 0010
^() : 0010
某一位和1异或,1^1为0,0^1为1,达成取反的目的。 - n位全为1
() - 第 位改为1
(()) - 去掉二进制下最右边的1
&()或(&())
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...