採用位運算,如果想將整數的二進位制某一位翻轉可採用id^=(1
阿新 • • 發佈:2018-12-26
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|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位置置翻轉