2010年9月28日 星期二

快速的判斷整數是否為奇數

從這裡看到的方法,覺得相當不錯所以留作備份一下。

http://www.cnblogs.com/oomusou/archive/2008/07/17/cpp_even_odd.html

文中因為不是 C++ 的範例,所以我再另外寫一下 C++ 的範例,
大概就是利用 & Operator 來將整數與 0x000000001 作運算,
整數只會被留下最右邊的一個位元,換算成十進位即是 1
若整數有用到這個位元就是奇數,沒用到就是偶數,
C++ 範例如下


int main()
{
  int N = 9999;
  BOOL bNIsOdd = (N & 1); // bNIsOdd = TRUE 為奇數

  int P = 4444;
  BOOL bPIsOdd = (P & 1); // bPIsOdd = FALSE; 為偶數

  return TRUE;
}

沒有留言:

張貼留言