首頁 > 軟體

Python的進位制轉換和ASCLL轉換你瞭解嗎

2022-02-28 13:05:30

進位制轉換

進位制之間的轉換主要是利用十進位制完成的。在進位制轉換的過程中,可以首先將相關進位制轉換為十進位制的,再進行二次轉換達到想要的效果。當然在進位制轉換中,也可以直接進行轉換,不進行十進位制的中轉操作。

1. 十進位制與二進位制

1.1 十進位制轉二進位制

使用bin()函數

bin(number, /)其它進位制轉二進位制,返回整數的二進位制表示形式

n = 120
print(bin(n))    # n 不改變
# 0b1111000

二進位制以0b開頭,若想去掉0b顯示,可採用切片方法

print(bin(n)[2:])
# 1111000

1.2 二進位制轉十進位制

使用int()函數

n = 120er = bin(n)print(int(er, 2))  # 120

2. 十進位制與八進位制

2.1 十進位制轉八進位制

使用oct()函數

n = 120
print(oct(n))
# 0o170

2.2 八進位制轉十進位制

使用int()函數

n = 120eight = oct(n)print(int(eight,8))# 120

3. 十進位制與十六進位制

3.1 十進位制轉十六進位制

使用hex()函數

n = 120
print(hex(n))
# 0x78

3.2 十六進位制轉十進位制

使用int()函數

n = 120
sixteen = hex(n)
print(int(sixteen, 16))
# 120

4. 其它進位制之間的相互轉換

使用bin()、oct()、hex() 函數可以進行進位制之間的直接轉換,這時的進位制的字首必須帶著。

例如:

二進位制轉八進位制

1.二進位制轉十進位制再轉八進位制

n = 120
er = bin(n)  # er = '0b1111000'
print(oct(int(er,2)))
# 0o170

2.二進位制直接轉八進位制

n = 120
er = bin(n)  # er = '0b1111000'
bb = oct(0b1111000)
print(bb)
# 0o170

ASCll轉換

1. 整數轉換為ASCLL字元

採用chr()函數,可以將位於【0, 255】之間的整數轉換為ASCLL字元。

例如:

a = chr(65)
# a = 'A'

2. 將ASCLL字元轉換為整數

採用ord() 函數將一個ASCLL字元轉換為對應的整數

b = ord('A')
print(b)
# 65
函數說明
bin()其它進位制轉成二進位制,返回整數的二進位制表示形式
oct()其它進位制轉成八進位制,返回整數的八進位製表示形式
hex()其它進位制轉成16進位制,返回整數的十六進位製表示形式
int(number, /)將其它進位制轉為十進位制
chr()將整數轉換為對應的ASCLL字元
ord()將一個ASCLL字元轉換為對應的整數

總結

本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注it145.com的更多內容! 


IT145.com E-mail:sddin#qq.com