这个在区分2种情况的时候还是非常有用的
下面介绍两种方式:
第一种:使用异或的方式,异或运算符^,即参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为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
}