python中單目運算 Python中的位運算

2021-10-13 04:22:21 字數 2288 閱讀 4002

python中的位運算是程式設計中對位模式或二進位制的一元和二元操作。

按位運算就是把數字轉換為機器語言---以二進位制形式表示

python中的位運算有哪些?

在python中,按位運算子有左移運算子(<>)、按位與運算(&)、按位或運算(|)、按位取反運算(~)、異或運算子,其中按位取反運算子為單目運算子

按位左移運算子(<

在機器語言中,任何形式均以二進位制的形式進行表示:

舉例:7<<2

二進位制為:111   左移兩位:11100 最後結果為:28

按位右移運算子(>>)

具體的使用形式和左移一樣。

舉例:7>>2

28>>2

二進位制:7的二進位制為:111,右移兩位後為001,結果即為1

28的二進位制為:11100,右移兩位後為00111,結果為7

按位與運算(&)

正數和正數的與運算:

舉例: 7&9

二進位制:7的二進位制為:0111,9的二進位制為:1001

說明:根據(1&1=1、1&0=0、0&1=0、0&0=0)即*相同位置同為1結果即為1,否者為0*,由此可見7&9的二進位制形式為:0111&1001 == 0001

正數與負數的與運算:

舉例:-7&5

二進位制:-7:1001,5:0101。結果為1

說明:此處你可能要問-7的二進位制和9的二進位制不是相同嗎?答案是不相同,在機器中-7的二進位制為:11111111 11111111 11111111 11111001,9的二進位制為:00000000 00000000 00000000 00001001。同樣根據上文的同為1既為1,所以結果為1。運算最後結果的二進位制形式從最左側的第乙個0前的1開始,直至右側結尾,將此數轉換為10進製,重點是,此處不是依次相加,而是依次相減,得到的結果最後加上負號即為最後運算的結果。

負數與負數的與運算:

舉例:-5&-8

二進位制:-5:11111011,-8:11111000結果為-8

說明:你可能會很疑惑,此處的結果明明是11111000,結果怎麼是-8.原因是-5&-8的二進位制形式為:11111011&11111000 == 11111000,從最左側的第乙個0前的1開始,直至右側結尾,將此數轉換為10進製,重點是,此處不是依次相加,而是依次相減,得到的結果最後加上負號即為最後運算的結果。

按位或運算(|)

或運算和與運算十分相似,只是依據的邏輯運算不同,或運算的依據邏輯是*相同位置有個為1結果即為1*

正數與正數的或運算:

舉例:7|9

二進位制:7:0111,9:1001

說明:根據(1|0=1、1|1=1、0|1=1、0|0=0)可知,7|9的二進位制形式為:0111|1001,結果為:15

負數與正數的或運算:

舉例:-7|9

二進位制:-7:11111001,9:00001001

說明:從最左側的第乙個0前的1開始的數,轉化為十進位制,需要進行的是依次相減運算。

負數與負數的或運算:

舉例:-5|-8

二進位制:-5:11111011,-8:11111000結果為-5

說明:運算最後結果的二進位制形式從最左側的第乙個0前的1開始,直至右側結尾,將此數轉換為10進製,重點是,此處不是依次相加,而是依次相減,得到的結果最後加上負號即為最後運算的結果。

按位取反運算子(~)

將二進位制數+1之後乘以-1,假如x的二進位制數是y,x的按位翻轉是-(y+1)

舉例:-3

去反後:2

二進位制:-3:11111101  取反操作:-(11111101+1)==-(11111110)==2

異或運算子(^)

二進位制對應位相加,不進製。依據邏輯為:(1^1=0、1^0=1、0^1=1、0^0=0),同樣依照,如果兩個數中一正一負,則最後的二進位制轉十進位制時依次相減,如果同正同負,則相加

正數和正數的異或運算:

舉例:7^9

二進位制:7:0111,9:1001

說明:7^9的二進位制形式為:0111^1001 == 1110,十進位制為:14

負數和正數的異或運算:

舉例:-3^4

二進位制:-3:11111101,4:00000100

說明:-3^4的二進位制形式為:11111101^00000100 == 11111001,根據說明可以知道結果為-(2*2*2-1)=-7

負數和負數的異或運算:

舉例:-7^-9

二進位制:-7:11111001,-9:11110111

說明;-7^-9的二進位制形式為:11111001^11110111 == 00001110,根據說明可以知道結果為2*2*2+2*2+2=14

python單目運算 Python基礎

變數 python的變數不能以數字開頭 python為動態語言 python為大小寫敏感語言 運算and 與 or 或 not 非 單目運算 除 地板除 只保留整數部分 特殊的值 none 空值 true 真 false 假 i o變數 input 提示字串 print 變數1,變數2 字串可用單引...

在類中重置 , (單目運算)

在類中重置 單目運算 在類中進行單目 與 例如a 用point這個類來做例子。include using namespace std class point point point point point int x,int y point point operator point point op...

Python 三目運算

python 可通過 if 語句來實現三目運算的功能,因此可以近似地把這種 if 語句當成三目運算子。作為三目運算子的 if 語句的語法格式如下 true statements if expression else false statements 三目運算的規則是 先對邏輯表示式 expressi...