(筆記)更快速判斷奇偶數的方法

摘要:一般我們要判斷奇偶數,都會想到用%,其實有更快的方法,不需要動用到除法

原理:奇數的數值若以二進位來表示,其最右邊的位元必為1,而偶數最右邊的位元必為0,所以若使用1來與輸入的值作AND運算,因為 1除了最右邊的位元為1之外,其它位元都會是0,所以與輸入數值作AND運算所得的結果,最右邊的位元不是0就是1,其它部份都被0 AND運算遮掉了

00000110     6

00000001     1

00000000     判斷為偶數

 

00000111     7

00000001     1

00000001     判斷為奇數
 

 

 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main() {   
 5 
 6     int N = 0;
 7     cout << "請輸入整數:";
 8     cin >> N;
 9         cout << "是否為偶數?"
10          << (N&1 ? "不是" : "是的")
11          << endl;
12     system("pause");
13     return 0;
14 }
15 
posted @ 2009-03-10 18:25  春天播種,秋天才會收穫  阅读(578)  评论(0编辑  收藏  举报