из шестнадцатеричной системы счисления в десятичную и обратно.

Тимофей Метлицкий

Новичок
Пользователь
Ноя 8, 2021
2
0
1
Напишите две функции с именами hex2int и int2hex для конвертации
значений из шестнадцатеричной системы счисления (0, 1, 2, 3, 4, 5, 6, 7,

8, 9, A, B, C, D, E и F) в десятичную (по основанию 10) и обратно. Функ-
ция hex2int должна принимать на вход строку с единственным символом

в шестнадцатеричной системе и преобразовывать его в число от нуля
до 15 в десятичной системе, тогда как функция int2hex будет выполнять
обратное действие – принимать десятичное число из диапазона от 0 до
15 и возвращать шестнадцатеричный эквивалент. Обе функции должны
принимать единственный параметр со входным значением и возвращать
преобразованное число. Удостоверьтесь, что функция hex2int корректно

обрабатывает буквы в верхнем и нижнем регистрах. Если введенное поль-
зователем значение выходит за допустимые границы, вы должны вывести

сообщение об ошибке.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 672
478
83
можно так
Python:
def hex2int(s_hex):
    if len(s_hex) > 1:
        return "Не верное число"
    try:
        dec = int(s_hex, 16)
    except ValueError:
        return "Не верное число"
    return dec


def int2hex(s_int):
    if s_int < 0 or s_int > 15:
        return "Не верное число"
    try:
        h = hex(s_int)
    except ValueError:
        return "Не верное число"
    return h[2:]


print(hex2int("d"))
print(hex2int("A"))
print(hex2int("h"))

print(int2hex(12))
print(int2hex(16))
print(int2hex(-1))
 

Форум IT Специалистов