在 Python 中將十六進位制轉換為十進位制
Manav Narula
2023年1月30日
2021年2月28日
在程式設計的世界裡,我們處理屬於不同數字系統的值。十六進位制數就是這樣一個系統。它被用於儲存記憶體地址、IP 地址等。
十進位制值的基數是 10,而十六進位制值的基數是 16。在 Python 中,十六進位制值的字首是 0x
。
在本教程中,我們將學習如何將十六進位制值轉換為相應的十進位制整數。
在 Python 中使用 int()
函式將十六進位制值轉換為整數
int()
函式可以幫助將不同的值轉換為十進位制整數。它將十六進位制字串型別化為相應的整數值。為了達到這個目的,我們必須傳遞數字和它的基數來將其轉換為整數(記住十六進位制值的基數是 16)。
s = '0xffa'
print(int(s,16))
輸出:
4090
在 Python 中使用 ast.literal_eval
函式把十六進位制轉換成整數
ast.literal_eval()
函式可以評估 Python 中的字串字面值。當一個十六進位制字串被傳遞給它時,它可以返回整數值,如下圖所示。
import ast
s = ast.literal_eval('0xffa')
print(s)
輸出:
4090
注意,eval()
函式也可以執行同樣的操作,但建議使用 ast.literal_eval()
。eval()
函式的速度非常慢,被認為是不安全的,使用起來很危險。ast.literal_value()
也只對部分 Python 資料型別進行評估,不像 eval()
函式,它對所有資料型別進行評估。
Author: Manav Narula
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn