(筆記)更快速判斷奇偶數的方法
摘要:一般我們要判斷奇偶數,都會想到用%,其實有更快的方法,不需要動用到除法
原理:奇數的數值若以二進位來表示,其最右邊的位元必為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
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