1. 程式人生 > >判斷奇偶數的方法

判斷奇偶數的方法

最近在閱讀 演算法競賽入門 一書,看到他的習題有一題是判斷整數是否是偶數,然後他建議用多種方法來判斷,思索了一下,沒想到有其他方法,於是百度之,發現居然真的有其他方法,而且效率比求餘判斷高,所以果斷把這個方法馬克到部落格

位運算應該是C語言中判斷奇偶數最快的方法

例項程式碼:

int fun(int n)
{
      return  (n&1); 
}

返回1代表是基數,返回0代表是偶數

以8位二進位制為例,那麼1就是00000001

任意數與00000001進行&(按位與)運算,前面的均為0

那麼只需要看數的最後一位就行了

正數的話就毋庸置疑了,基數的最後一位肯定是1,偶數的最後一位肯定是0,1&1=1,0&1=0

負數的話,要經過正數的二進位制數取反再加一,事實上,最後一位數還是不變的,同理