位元運算子代替 if 坐判斷 : Bit Mask 位元遮罩

快速的if盼斷法


Bit Mask 位元遮罩


& : 位元運算子

位元+位元

0 1 0 0 0 1 1 0
0 0 1 0 1 1 1 0
--------------------
0 0 0 0 0 1 1 0

% 是在做輾轉相除法  其實非常浪費cpu資源


if( x % 2 = 1){
    奇數
}else{
    偶數
}
C語言中 不為0為true , 為0=false

if( x & 1 ){
    奇數
}else{
    偶數
}

位元運算 在兩個都是1的時候才會有1產生
所以在&1的時候 只會比最後一個位元
不是0 的時候都是true
1&1 = 1 偶數
0 & 1 = 0 奇數
1 0 1 1 0 1 1 0
0 0 0 0 0 0 0 1 &
----------------------
0 0 0 0 0 0 0 1



留言