首頁 > 後端開發 > Python教學 > python 講解進位轉換 int、bin、oct、hex

python 講解進位轉換 int、bin、oct、hex

coldplay.xixi
發布: 2021-01-14 09:44:50
轉載
2890 人瀏覽過

python 講解進位轉換 int、bin、oct、hex

相關免費學習推薦:python影片教學

原理

十進制轉n進制都可以使用倒除法:對十進制進行除n的運算,直到商為0為止,然後將各個步驟中得到的餘數倒著寫出來.
n進制轉十進制:(例子:二進位轉十進位)
101001 => 2^5 2^3 1 = 32 8 1 = 41
10111 => 2^4 2^2 2 1 = 16 4 2 1 = 23
同樣類別推一下,n進制轉十進制就是將2為底換成n為底就好了


還有其他方法,比如使用中間二進制,
例如,將十進制轉成八進位或十六進制,先轉成二進位再轉成八進位或十六進位
十進位=> 二進位=> 十六進位
520 => 1000001000 (512 8) => 10 0000 1000 => 208(十六進位)
1314 => 10100100010(二進位) => 2442(八進位) => 522(十六進位) => 2442(八進位) => 522(十六進位)




#'八進位或十六進位轉成十進位 十六進位=> 二進位=> 十進位 522 => 0101 0010 0010 => 1024 256 32 2 = 1280 34 = gt; 1024 256 32 2 = 1280 34 = gt; 1024 256 32 2 = 1280 34 = 1334(013)

##十進位轉其他進位的數
使用內建函數bin、oct、hex可以將

整數
轉換成對應的二進位、八進位、十六進位;

注意只能轉換整數,傳回的資料是一個字串型別

a = 12# 默认数字都是十进制print(a)# 12b = 0b0101010111#以0b开头的是二进制数,默认也是十进制输出print(b)# 343c = 0o33# 以0o开头的是八进制数print(c)# 27d = 0x24# 以0x开头的是十六进制数print(d)# 36
登入後複製

a = 12 # 12是十进制数print(bin(a))# 0b1100 使用bin内置函数可以将数字转换为二进制print(oct(a))# 0o14 使用oct内置函数可以将数字转换为八进制print(hex(a))# 0xc 使用hex内置函数可以将数字转换为十六进制print(type(bin(a)))# <class &#39;str&#39;>print(bin(0o1111))# 0b1001001001print(bin(0xff))# 0b11111111print(oct(0xff))# 0o377print(hex(0b00011111)) # 0x1f# print(bin(1.12))# print(oct(1.12))# print(hex(1.12))# TypeError: 'float' object cannot be interpreted as an integer
登入後複製

其他進位轉換成十進位


int函數的使用 int(x, base=10)base是進制,預設是十進制 int函數常用來將其他類型的資料轉換成整數

注意

x 有兩種:str / int
1、若x 為純數字,就不能給base傳參數,否則就會報錯

2、若x 為str,則可以給base傳參,不傳就預設是10;給base傳什麼參數就認為此字串為什麼進制的數,然後把它轉換成十進制的數,但字串裡的數必須符合該進制規範,否則會報錯

相關免費學習推薦:
python教學###(影片)######

以上是python 講解進位轉換 int、bin、oct、hex的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板