python isodd()判断奇偶_位运算(1的个数;2.判断奇偶)
1.
1的個(gè)數(shù)
int NumberOf1(intn){int count = 0;while(n)
{++count;
n=(n-1)&n;
}
}
同樣一個(gè)問(wèn)題,位運(yùn)算可以提高程序的運(yùn)行效率。
下面講一下關(guān)于奇偶性的判斷。
常規(guī)方法
public static boolean isOdd(int i){
return i % 2 != 0;
}
位運(yùn)算方法
public static boolean isOdd(int i){
return (i & 1) != 0;
}
public boolean isOdd(inta){if((a&1) != 1){ //是奇數(shù)
return true;
}return false;
}
說(shuō)明:
我們知道計(jì)算機(jī)中的數(shù)字通常用二進(jìn)制補(bǔ)碼表示。
如果為正數(shù),補(bǔ)碼與原碼相同,直接看最后一位(因?yàn)閿?shù)字1的前面N位均為0,跟它做與運(yùn)算,前面肯定為0),奇數(shù)為1,偶數(shù)為0,與1相與,結(jié)果不變。
如果為負(fù)數(shù),補(bǔ)碼轉(zhuǎn)原碼:保持符號(hào)位不動(dòng),其它各位取反+1,即為負(fù)數(shù)的絕對(duì)值原碼全部取反+1。還是看最后1位,先取反,再+1,結(jié)果還是和原來(lái)相同。進(jìn)行與運(yùn)算時(shí)還是原來(lái)的末位,所以用跟1做與運(yùn)算還是保持原來(lái)的結(jié)果。
---------------------
作者:taizhoufox
總結(jié)
以上是生活随笔為你收集整理的python isodd()判断奇偶_位运算(1的个数;2.判断奇偶)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python周末列表的表示形式合并_Py
- 下一篇: uart协议_UART协议简介