Python進製之間的轉換和位運算整理

2022-10-11 16:12:18 字數 2176 閱讀 3835

簡單整理下位運算的用法

value = '

ff1a

'shi = int(value, 16) #

16進製制轉10進製 第乙個引數value是要轉換的值,第二個引數是原資料的進製

print("

%s的十進位制為:

" %value, shi)

er = bin(shi)[2:] #

bin 十進位制轉換2進製

print("

%d的二進位制為:

" %shi, er)

ba = oct(shi)[2:] #

oct 十進位制轉換8進製

print("

%d的八進位制為:

" %shi, ba)

shil = hex(shi)[2:] #

oct 十進位制轉換16進製制

print("

%d的十六進製制為:

" %shi, shil)

a = 13b = 19a_ = bin(a)[2:]

b_ = bin(b)[2:]

print("

%d的二進位制數為:

" %a, a_)

print("

%d的二進位制數為:

" %b, b_)

or_ = a | b #

位或運算 有一位為1則為1

print("

%d %d 的【位或】運算結果為:%d,解析為二進位制:%s

" % (a, b, or_, bin(or_)[2:]))

and_ = a & b #

位與運算 有一位不為1則為0

print("

%d %d 的【位與】運算結果為:%d,解析為二進位制:%s

" % (a, b, and_, bin(and_)[2:]))

a1 = a ^ b #

位異或 兩者相同則為0,不同則為1

print("

%d %d 的【位異或】運算結果為:%d,解析為二進位制:%s

" % (a, b, a1, bin(a1)[2:]))

#位求反 0變成1,1變成0 ,有乙個公式:~a = -(x+1)

print("

%d的【位求反】結果是:%d,轉為二進位制為:%s

" % (a, ~a, bin(~a)[2:]))

print("

%d的【位求反】結果是:%d,轉為二進位制為:%s

" % (b, ~b, bin(~b)[2:]))

#右移位 原來的所有位右移,最低位丟棄,最高位使用0填充,相當於整除2

print("

%d的【位右移】結果是:%d,轉為二進位制為:%s

" % (a, a >> 1, bin(a >> 1)[2:]))

print("

%d的【位右移】結果是:%d,轉為二進位制為:%s

" % (b, b >> 1, bin(b >> 1)[2:]))

#原來的所有位左移,最低位補0,相當於乘2

print("

%d的【位左移】結果是:%d,轉為二進位制為:%s

" % (a, a << 1, bin(a << 1)[2:]))

print("

%d的【位左移】結果是:%d,轉為二進位制為:%s

" % (b, b << 1, bin(b << 1)[2:]))

上面**的輸出結果:

ff1a的十進位制為: 65306

65306的二進位制為: 1111111100011010

65306的八進位制為: 177432

65306的十六進製制為: ff1a

13的二進位制數為: 1101

19的二進位制數為: 10011

13 19 的【位或】運算結果為:31,解析為二進位制:11111

13 19 的【位與】運算結果為:1,解析為二進位制:1

13 19 的【位異或】運算結果為:30,解析為二進位制:11110

13的【位求反】結果是:-14,轉為二進位制為:b1110

19的【位求反】結果是:-20,轉為二進位制為:b10100

13的【位右移】結果是:6,轉為二進位制為:110

19的【位右移】結果是:9,轉為二進位制為:1001

13的【位左移】結果是:26,轉為二進位制為:11010

19的【位左移】結果是:38,轉為二進位制為:100110

python進製數之間的轉換

常用的進製數為2進製,常用b bin表示,由0,1兩個字元組成 8進製,常用o oct表示,由0 7七個字元組成 10進製,也是我們最經常用的,由0 9十個字元組成 16進製制,常用h hex表示,由0 9,a f十六個字元組成。十進位制轉換為其他進製 給定乙個十進位制數轉換為其他進製 number...

位運算和進製轉換

位運算指的是對二進位制進行的計算處理。主要有 與 或 異或 求反 其特徵為 都是1的時候才是1 如 13 7 計算過程為 13的二進位制 1101 7的二進位制 0111 得到結果 0101 轉換成10進製則是5 計算過程為 1101 0111 按照或運算得到結果是 1111 轉化成10進製為 15...

進製之間的轉換

今天翻了一本計算機基礎的書籍,其中十進位制 二進位制 八進位制 十六進製制之間的轉換挺有意思的,也容易犯糊塗,特溫故而知新。十進位制數制系統 十進位制數制系統包括 10 個數字 0 1 2 3 4 5 6 7 8 9 基為 10 逢十進一,如3 7 10,20 80 100 二進位制數制系統 計算機...