1. 程式人生 > >位運算判斷一個數是奇數還是偶數

位運算判斷一個數是奇數還是偶數

在 leetcode 上刷題的時候,有道題需要判斷一個數是奇數還是偶數。看到大神寫的判斷方法。記錄一下

程式碼如下

int t = 3; // 要判斷的數.
int odd = t & 1; // 如此簡單

如果是奇數 odd 為 1,偶數的話則為0

原理

一個數如果是奇數的話,那麼他的二進位制最後一位一定為1.
比如 3, 他的二進位制表示為 11 而 1 的二進位制為 01 ,兩個相與,則為1. 而偶數的話則就為0了。

  11
& 01
 ----
  01