按位運算子對位進行運算並執行逐位運算。假設a = 60; 並且b = 13; 現在,以二進位制格式,它們的值將分別為0011 1100和0000 1101。下表列出了python語言支援的按位運算子,並分別舉例說明,我們將上述兩個變數(a和b)用作運算元-a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
python語言支援以下bitwise運算子。序號運算子和說明例1&二進位制and
運算子將兩個結果都複製到結果中(a和b)(表示0000 1100)
2| 二進位制或
如果它存在於任一運算元中,它將複製一位。(a | b)= 61(意味著0011 1101)
3^ binary xor
如果在乙個運算元中設定了該位,但未在兩個運算元中都設定了位,則將其複製。(a ^ b)= 49(意味著0011 0001)
4〜二進位制補碼
這是一元的,具有「翻轉」位的作用。(〜a)= -61(由於帶符號的二進位制數,表示2的補碼形式的1100 0011。
5<< binary left shift
左運算元的值向左移動右運算元指定的位數。a << 2 = 240(表示1111 0000)
6>>二進位制右移
左運算元的值向右移動右運算元指定的位數。a >> 2 = 15(意味著0000 1111)
7** =指數and
對運算子執行指數(冪)計算並將值賦給左運算元c ** = a等效於c = c ** a
8// =地板除法
它對運算子執行地板除法並將值分配給左運算元c // = a等效於c = c // a
示例#!/usr/bin/python
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b; # 12 = 0000 1100
print "line 1 - value of c is ", c
c = a | b; # 61 = 0011 1101
print "line 2 - value of c is ", c
c = a ^ b; # 49 = 0011 0001
print "line 3 - value of c is ", c
c = ~a; # -61 = 1100 0011
print "line 4 - value of c is ", c
c = a <
print "line 5 - value of c is ", c
c = a >> 2; # 15 = 0000 1111
print "line 6 - value of c is ", c
輸出結果
當您執行上述程式時,它將產生以下結果-line 1 - value of c is 12
line 2 - value of c is 61
line 3 - value of c is 49
line 4 - value of c is -61
line 5 - value of c is 240
line 6 - value of c is 15
面試題 按位翻轉32位unsigned
test.cpp 定義控制台應用程式的入口點。include stdafx.h include include using namespace std 方法一是將結果儲存在了另乙個變數中,從a中取依次取最低位,放入放入ret的低位然後右移ret int reverse int a return re...
python語言按位取反 python的按位運算
華電北風吹 天津大學認知科學與計算重點實驗室 最後修改日期 2015 8 6 python提供了豐富的位運算操作符,例如按位與,按位或,按位異或,左移位,右移位和取反操作,例子 如下 a,b 45,83 bin a bin b 0b101101 0b1010011 a b,bin a b 127,0...
python的按位運算
華電北風吹 天津大學認知科學與計算重點實驗室 最後修改日期 2015 8 6 python提供了豐富的位運算操作符,例如按位與,按位或,按位異或,左移位,右移位和取反操作,例子 如下 a,b 45,83 bin a bin b 0b101101 0b1010011 a b,bin a b 127,0...