2026/27, 10В, Python: Системы счисления (часть 1.1)

A: Шестнадцатеричную цифру в int

Дана шестнадцатеричная цифра, записанная в переменной типа char. Определите её числовое значение.

Решение оформите в виде функции int hex2int(char c). Сдайте на проверку только тело функции.

Вызов функции Возвращаемое значение
hex2int('9')
9
hex2int('F')
15

B: int в шестнадцатеричную цифру

Дано значение типа int от 0 до 15. Запишите его виде 16-ричной цифры.

Решение оформите в виде функции char int2hex(int n). Сдайте на проверку только тело функции.

Вызов функции Возвращаемое значение
int2hex(9)
'9'
int2hex(15)
'F'

C: Из двоичной в int

Дано число, записанное в виде строки в двоичной системе счисления. Переведите его в тип int.

Решение оформите в виде функции int bin2int(string s). Сдайте на проверку только тело функции.

Решение должно использовать схему Горнера (в частности, в решении не должны вычисляться степени числа 2). Все символы строки должны обрабатываться внутри общего цикла, от старшего разряда к младшему.

Вызов функции Возвращаемое значение
bin2int("10110011"s)
179

D: Из шестнадцатеричной в int

Переведите значение из 16-ричной системы счисления в тип int. Решение оформите в виде функции int hex2int(string s). Сдайте на проверку только тело функции.

Вызов функции Возвращаемое значение
hex2int("B3"s)
179

E: Из int в двоичную

Переведите число из int в строку в двоичной системе счисления.

Решение оформите в виде функции string int2bin(int n). Сдайте на проверку только тело функции.

Вызов функции Возвращаемое значение
int2bin(179)
"10110011"s

F: Из int в шестнадцатеричную

Переведите число из int в строку в шестнадцатеричной системе счисления.

Решение оформите в виде функции string int2hex(int n). Сдайте на проверку только тело функции.

Вызов функции Возвращаемое значение
int2hex(179)
"B3"s

G: Из любой в любую

Напишите программу, переводящую запись числа между двумя произвольными системами счисления.

На вход программа получает три величины: \(n\), \(a\), \(k\), где \(n\) и \(k\) — натуральные числа от 2 до 36, основания систем счисления, \(a\) — число, записанное в в системе счисления с основанием \(n\), \(0\le a\le 2^{31}\).

Необходимо вывести значение \(a\) в системе счисления с основанием \(k\).

Решение должно содержать две функции перевода — из числа в произвольной системе счисления, записанного в переменной типа string в переменную типа int и обратно. Сдайте на проверку всю программу.

Примеры

ВводВывод
2
101111
16
2F
10
35
36
Z