相關免費學習推薦: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 'str'>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函數常用來將其他類型的資料轉換成整數
注意
:
1、若x 為純數字,就不能給base傳參數,否則就會報錯python教學###(影片)######2、若x 為str,則可以給base傳參,不傳就預設是10;給base傳什麼參數就認為此字串為什麼進制的數,然後把它轉換成十進制的數,但字串裡的數必須符合該進制規範,否則會報錯
相關免費學習推薦:print(int(3.112))# 3# print(int(3.112,8))# TypeError: int() can't convert non-string with explicit baseprint(int('10',2))# 2# print(int('22',2))# ValueError: invalid literal for int() with base 2: '22'print(int('0xaaa',16))# 2730print(int('0b111',2))# 7print(int('0o1237',8))# 671登入後複製
以上是python 講解進位轉換 int、bin、oct、hex的詳細內容。更多資訊請關注PHP中文網其他相關文章!