學習的需要,查詢了如何判斷奇偶數的方法,自己做了以下筆記。方法來自網路,已標明出處。
方法一
、求餘%
具體實現:
1、if( x % 2 )
// 奇數
else
// 偶數
2、(x%2)?奇數:偶數
分析:根據奇數偶數的定義,若整數除以2沒有餘數,則為偶數,否則為奇數。
因此,偶數取餘結果為0,奇數取餘結果為非零
在if(條件)判斷中,若條件為非零,表示條件成立,否則表示條件不成立(即不執行if()之後的語句)
?:的情況類似
方法二
、與1相與 &1
具體實現:
1、if( x & 1 )
// 奇數
else
// 偶數
2、(x&1)?奇數:偶數
分析:首先得知道按位與運算&的使用方法
按位與運算 a&b
參與運算的兩數各對應的二進位相與,
只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。
例如:9&5可寫算式如下:
先分別將兩個數化為二進位制,在進行運算
00001001 (9的二進位制補碼)
& 00000101 (5的二進位制補碼)
—————
00000001 (1的二進位制補碼)
可見9&5=1。
對於任何乙個數 & 1,因為1的二進位制是1,在它的補碼中,除了最後一位為1,其它全部為0,前面提到,按位與運算&只有當兩個數都為1時結果才是1,因此,任何乙個數與1相與,只有最低位可能為1,因此最終的結果只有0和1兩種情況,而且結果取決於另外那個數二進位制中的最後一位(若為1,最終結果便為1,若為0,結果便是0)
從二進位制化為十進位制中,需要加上二進位制中最低位乘以2的零次方(1*2^0或0*2^0),然後再加上 對應位乘以 2^1,2^2,2^3,2 ^4……但是之後這一些都數2的倍數,也就是都是偶數,要讓這些偶數程式設計奇數,取決於 2^0這一項,即,乙個十進位制數字是奇數還是偶數,取決於二進位制中最低位那個數是0還是1。
參閱:
Python 判斷奇數偶數的方法
以下例項用於判斷乙個數字是否為奇數或偶數 coding utf 8 filename test.py python 判斷奇數偶數 cbwsjgh 如果是偶數除於 2 餘數為 0 如果餘數為 1 則為奇數 num int input 輸入乙個數字 if num 2 程式設計客棧 0 print 是偶數...
java兩種方式實現執行緒求奇數 偶數
package com.ljl.org.test4 demo interview author jilongliang date 2013 4 17 分別使用runnable介面和thread類程式設計實 編寫一應用程式建立兩個執行緒乙個執行緒列印輸出1 1000之間所有的奇數 odd number...
兩種if判斷
上海面試三 下面是c語言中兩種if語句判斷方式。請問哪種寫法更好?為什麼?int a if a1 第一種判斷方式 if 1a 第二判斷方式 答 這是個主觀題,不過多數人認為第二種好。從執行效率上講,第二種效率更高。另外,在編寫 時如果不小心將 寫成 即變成 1 a 這時編譯器將會給出錯誤提示。而如果...