Python基礎語法系列4 進製

2021-10-04 12:58:25 字數 2000 閱讀 1748

在計算機進行資料交換時,常常會有乙個進製轉換的過程,我們知道計算機只認0 和 1.在記憶體系統中,基本基於二進位制進行運算的,但是有時候資料過於龐大,為了方便儲存管理,計算機會使用十六進製制儲存資料,但是怎麼實現資料轉換呢?

我們人類由十根手指頭,所以自然就使用十進位制啦,每當我們數數字到10之後,於是就重0 開始繼續數,所以逢十進一就這麼來了。對於其它進製呢,也是同樣的,比如最常見的二進位制,也就是逢二進一,依次類推。

1 各種進製介紹

python中的整數支援十進位制、二進位制、八進位制和十六進製制四種不同的表示方式,在轉換之前,我們先了解以下各種進製

1.1.1 十進位制

1.1.2 二進位制

1.1.3 八進位制

1.1.4 十六進製制

2 進製之間的轉換

python提供了三個函式用於進製的轉換,分別是bin()、oct()、hex()用於二進位制、八進位制和十六進製制的轉換,其用法如下:

轉十進位制

# 1. 其他進製轉十進位制: 使用print函式列印其他進製的數,列印結果就是十進位制

print

(0b11011

)# 檢視二進位制數11011對應的十進位制

print

(0o56

)# 檢視八進位制數56對應的十進位制

print

(0x1fa

)# 檢視十六進製制數1fa的十進位制

結果:

27

46506

轉二進位制

# 2. 其他進製轉二進位制: 獲取函式bin()的結果

print

(bin

(100))

# 檢視十進位制數100對應的二進位制

print

(bin

(0o56))

# 檢視八進位制數56對應的二進位制

print

(bin

(0x1fa))

# 檢視十六進製制數1fa對應的二進位制

結果:

0b1100100

0b101110

0b111111010

轉八進位制

print

(oct

(100))

# 檢視十進位制數100對應的八進位制

print

(oct

(0b11011))

# 檢視二進位制數11011對應的八進位制

print

(oct

(0x1fa))

# 檢視十六進製制數1fa對應的八進位制

結果:

0o144

0o33

0o772

轉十六進製制

print

(hex

(100))

# 檢視十進位制數100對應的十六進製制

print

(hex

(0b11011))

# 檢視二進位制數11011對應的十六進製制

print

(hex

(0o56))

# 檢視八進位制數56對應的十六進製制

結果:

0x64

0x1b

0x2e

不同的進製只是數字的不同的表示方式,使用的時候並無區別,在程式中,十進位制數能做的,其他進製都可以,示例如下:

print(10

+20)print

(0b1010

+0b10100

)print

(0o12

+0o24

)print

(0xa

+0x14

)

結果:

30

3030

30

Python基礎語法系列7 if分支結構

預設情況下,程式的執行流程是這樣的 執行程式後,系統會按書寫順序從上至下執行程式中的每一行 但是這樣並不能滿足我們所有的開發需求。實際開發中,我們需要根據不同的條件執行不同的 或者重複執行某一段 為了方便我們控制程式的執行流程,python提供3種流程結構,不同的流程結構可以實現不同的執行流程。分別...

Python基礎語法(4)

計算機利用資料有三種方式 直接使用 計算和加工 做判斷對於程式設計新手來講,掌握主要的資料型別是重中之重。學習了兩種新的資料型別 列表和字典,你會發現,它們比之前學過的 整數 浮點數 字串 更加高階,更具有 包容性 前面學的幾種型別,每次賦值只能儲存一條資料。如果需要使用很多資料的時候,就會很不方便...

基礎演算法系列 前言

怎樣才能學好程式?個人認為,乙個好的程式設計師必須具備兩方便的素質 一是知識,二是邏輯思維。知識需要不斷積累,可能知識就是乙個小小的問題,你知道了,就能方便的運用上,不知道的話,便可能花費時間查閱資料。相對於知識,邏輯更顯重要。知識可以積累,而邏輯主要看程式設計師的分析問題 解決問題的能力,這種能力...