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

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

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

转载于:https://www.cnblogs.com/mysterywho/archive/2009/03/10/1408106.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值