python數的按位翻轉 Python按位運算子

2021-10-12 15:24:57 字數 1648 閱讀 2011

按位運算子對位進行運算並執行逐位運算。假設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...