Без использования встроенного python, я хотел бы написать подпрограмму basi c, чтобы найти значение numberri c по заданной шестнадцатеричной строке. (Другими словами, я не хочу использовать int('8c', 16)
) - это для целей обучения).
Вот что у меня есть:
def hex_to_number(hex_string, num=0):
number_map = {'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}
for char in hex_string:
num = num << 4
num += number_map[char]
return num
Это возможно ли это преобразование без карты чисел вверху или это необходимо для шестнадцатеричного преобразования? Если нет, то как еще может быть построен алгоритм (или даже однострочный) для этого?