Процедура, которая выводит число в заданной системе счисления:
def print_number_in_base(num, base): digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" # Возможные цифры для различных систем счисления result = "" # Проверка на корректность введенной системы счисления if base < 2 or base > 20: print("Ошибка: система счисления должна быть от 2 до 20") return # Обработка отрицательных чисел negative = False if num < 0: num = abs(num) negative = True # Вычисление символов новой записи числа while num > 0: digit = num % base result = digits[digit] + result num //= base if negative: result = "-" + result print(result)
Процедура, которая выводит число в заданной системе счисления:
def print_number_in_base(num, base):digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" # Возможные цифры для различных систем счисления
result = ""
# Проверка на корректность введенной системы счисления
if base < 2 or base > 20:
print("Ошибка: система счисления должна быть от 2 до 20")
return
# Обработка отрицательных чисел
negative = False
if num < 0:
num = abs(num)
negative = True
# Вычисление символов новой записи числа
while num > 0:
digit = num % base
result = digits[digit] + result
num //= base
if negative:
result = "-" + result
print(result)
Пример использования:
print_number_in_base(105, 16)print_number_in_base(-56, 8)
print_number_in_base(100, 2)
Результат:
69-70
1100100