在 Python 中,與其他編程語言相比,轉換元素非常容易。在本教程中,我們將討論將十六進位字元串轉換為十進位字元串的不同方法。
方法 1:通過使用 int()函數
int()函數用於執行這些類型的任務,用戶可以在這個函數中添加一個參數(16),用於將十六進位字元串轉換為基數 16,同時它會將字元串轉換為整數。
示例:
# First, initialize the string
testing_string = 'F'
# then, Print the original string
print ("The Hexadecimal string is: " + str(testing_string))
# now, use the int() function to convert the hexadecimal string to decimal string
convertion = int(testing_string, 16)
# At last, print result
print ("The converted hexadecimal string into decimal string is: " + str(convertion))
輸出:
The Hexadecimal string is: F
The converted hexadecimal string into decimal string is: 15
方法 2:通過使用 ast.literal_eval()方法
用戶可以使用literal_eval
函數將十六進位字元串轉換為十進位字元串。literal_eval
函數可以預測基數,並將數字字元串轉換為十進位字元串。
示例:
from ast import literal_eval
# First, initialize the string
testing_string = '0xF'
# then, Print the original string
print ("The Hexadecimal string is: " + str(testing_string))
# now, use the ast.literal_eval() function to convert the hexadecimal string to decimal string
convertion = literal_eval(testing_string)
# At last, print result
print ("The converted hexadecimal string into decimal string is: " + str(convertion))
輸出:
The Hexadecimal string is: 0xF
The converted hexadecimal string into decimal string is: 15
方法 3:使用字典
用戶可以使用字典將十六進位字元串轉換為十進位字元串。他們可以創建一個包含十六進位表的所有預定義值的字典。之後,用戶可以應用「for」循環,並將十六進位字元串值轉換為十進位字元串格式。
示例:
# Creating the Dictionary
dictionary_hexa_to_decimal = {'0': 0, '1' : 1, '2' : 2, '3' : 3, '4' : 4, '5' : 5, '6' : 6, '7' : 7, '8' : 8, '9' : 9, 'A' : 10 , 'B' : 11, 'C' : 12, 'D' : 13, 'E' : 14, 'F' : 15}
hexadecimal_string = input("Please enter the hexadecimal value: ").strip().upper()
decimal = 0
length = len(hexadecimal_string) -1
for digit in hexadecimal_string:
decimal += dictionary_hexa_to_decimal[digit]*16**length
length -= 1
print ("The converted hexadecimal string into decimal string is: ", decimal)
輸入:
Please enter the hexadecimal value: AE
輸出:
The converted hexadecimal string into decimal string is: 174
方法 4:通過使用 While
循環
用戶可以使用 While
循環將十六進位字元串轉換為十進位字元串。首先,用戶必須導入十六進位字元串值。然後,他們必須取 3 個變數:「k」、「計數」和「j」,並且都等於「0」。之後,他們必須應用包含所有條件的「while」循環。最後,用戶可以檢查「k」的值。如果「k」的值等於「0」,用戶可以列印「計數」的值;否則,它將是無效的輸入。
示例:
hexadecimal_string = input("Please enter the hexadecimal value: ")
k = counts = j = 0
length = len(hexadecimal_string) - 1
while length >= 0:
if hexadecimal_string[length] >= '0' and hexadecimal_string[length] <= '9':
rem_1 = int(hexadecimal_string[length])
elif hexadecimal_string[length] >= 'A' and hexadecimal_string[length] <= 'F':
rem_1 = ord(hexadecimal_string[length]) - 55
elif hexadecimal_string[len]>='a' and hexadecimal_string[len]<='f':
rem_1 = ord(hexadecimal_string[length]) - 87
else:
k = 1
break
counts = counts + (rem * (16 ** j))
length = length - 1
j = j + 1
if k == 0:
print ("\nThe converted hexadecimal string into decimal string is: ", counts)
else:
print ("\nInvalid Input!")
輸入:
Please enter the hexadecimal value: AF
輸出:
The converted hexadecimal string into decimal string is: 255
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129538.html