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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值