1. 程式人生 > >採用位運算,如果想將整數的二進位制某一位翻轉可採用id^=(1

採用位運算,如果想將整數的二進位制某一位翻轉可採用id^=(1

id &= ~(1<<x) :右起第x位置置為0。  //多加一個翻轉

id |= (1<<x) :右起第x位置置為1。

id ^=(1<<x) :右起第x位置置翻轉,1翻轉為0,或0翻轉為1

----------------------------------------------------------------------------------------

0&0 = 0&1 =0  ;1&0 =0 , 1&1 =1

可以得出:0與0或1相與都為0,而1與0或1相與原來數字都不變。

簡記:0置0,1不變

作用:用來置0

使用:id &= ~

(1<<x) :右起第x位置置為0。  

----------------------------------------------------------------------------------------

1|0 =1, 1|1 =1 ;0|0 =0, 0|1 =1  

可以得出:1與0或1相與都為1,而0與0或1相與原來數字都不變

簡記:1置1,0不變

作用:用來置1

使用:id |= (1<<x) :右起第x位置置為1。

----------------------------------------------------------------------------------------

 1^0 =1  , 1^1 =1 ; 0^0 =0,0^1=1

可以得出:1與0或1異或都能使其取反(翻轉)得到1或0,而0與0或1相與原來數字都不變

簡記:1翻轉,0不變

作用:用來翻轉某位

使用:id ^=(1<<x) :右起第x位置置翻轉