一、定义
位运算符 | 符号 | 定义 |
---|---|---|
与 | & | 相同位的两个数字都为1,则为1;若有一个不为1,则为0 |
或 | | | 两个位有一个为1,结果就是1,否则结果为0 |
非 | ~ | 如果位为0,结果是1,如果位为1,结果是0 具体参考连接 |
异或 | ^ | 两个位相同结果为0,不同结果为1 |
二、实例
位运算符 | 实例 | 解析 |
---|---|---|
与 | 128 & 129 =128 |
![]() |
或 | 129 = 129 |
![]() |
非 | ~128 = -129 |
![]() |
异或 | 128 ^ 129 = 1 |
![]() |
常用公式
0,1 互转
第一种:使用异或的方式,异或运算符^,即参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
1^0 = 1
1^1 = 0
function reverse(num){
return 1^num
}
第二种:使用按位非运算符的方式
~0 = -1
~0 + 2 = 1
~1 = -2
~1 + 2 = 0
function reverse(num){
return ~num + 2
}
网友评论