如何高效地判斷奇數和偶數

2021-04-19 02:57:57 字數 654 閱讀 6953

在我們日常的程式設計當中,常常會遇到判斷某個整數屬於奇數還是偶數的情況。 一般我們都是用的取模的操作,前幾天在網上看到了一種稱作快速有效的判斷做法,利用2進製進行判斷。

大家都知道,奇數的最低位一定是1,而偶數的最低位一定是0.所以我們可以根據這個特性,讓需要判定的整數和1進行「與」運算,這樣就只留下了原數的最低位,然後直接判斷這個數等於1還是等於0即可。

實現**如下:

class program

}///

/// 判斷乙個整數是奇數還是偶數。

///

class oddeven

static public bool isodd(int a)

}

本人做了個測試來證明這個結論,使用取模的方式和使用與操作的方式比較,各執行5,000,000,000次(資料太小看不出差距),前者的執行所花時間是後者的8倍.理論上這種方式的的確效率高一些,也算是一種有高效簡潔的方式,但是要體現出差距來就需要至少上億次的操作才能看出,對於平時只使用那麼幾次的**來說,幾乎可以忽略不計這兩者的差別了.但是使用與操作的話,如果不加注釋,很難從**裡看出來作者想要得到乙個整數的奇偶性結果,不利於**閱讀.

現在的年代硬體不是問題,在可讀性的要求大於**效能要求(效能也不能差得離譜)的時候,還是少用為好.但是作為開拓視野的一種方式也未嘗不可.

判斷奇數還是偶數

判斷奇數還是偶數 建立乙個函式,它以整數作為引數,對偶數返回 偶數 對奇數返回 奇數 解法一 判斷奇數還是偶數 def even or odd number if number 2 0 return even else return odd assert even or odd 2 even ass...

python判斷奇數偶數

num eval input 請輸入乙個數 if num 2 0 print 是個偶數 format num else print d是個奇數 num 如果輸入有錯,跳過判斷重新輸入 如果輸入正確,判斷一次之後跳出迴圈 while true try num int input 請輸入乙個數 exce...

oracle如何判斷奇數偶數 如何尋找最長回文子串

讀完本文,你可以去力扣拿下如下題目 5.最長回文子串 回文串是面試常常遇到的問題 雖然問題本身沒啥意義 本文就告訴你回文串問題的核心思想是什麼。首先,明確一下什 回文串就是正著讀和反著讀都一樣的字串。比如說字串 aba 和 abba 都是回文串,因為它們對稱,反過來還是和本身一樣。反之,字串 aba...