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