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

来源:互联网 发布:mysql 时间格式转换 编辑:程序博客网 时间:2024/06/06 03:10

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

原理:奇數的數值若以二進位來表示,其最右邊的位元必為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 }

原创粉丝点击