Системы счисления — это основа любой компьютерной науки. Умение переводить числа между разными системами счисления облегчает решение многих задач в программировании и компьютерных науках. Четверичная система счисления используется реже, но имеет свои применения в узких областях, таких как сокровища в игре или специальные виды кодирования. В этой статье мы рассмотрим, как перевести число из десятичной системы в четверичную на языке программирования Python.
Основы систем счисления
Двоичная система
Двоичная система счисления — самая основная и известная среди программистов. Она использует всего два символа: 0 и 1. Основной принцип работы заключается в том, что каждая последующая цифра двоичного числа представляет собой степень двойки. Например, число 101
в двоичной системе обозначает (1 \cdot 2^2 + 0 \cdot 2^1 + 1 \cdot 2^0 = 5) в десятичной системе.
Четверичная система
Четверичная система счисления использует четыре символа: 0, 1, 2 и 3. Эта система также основана на степенях, но на этот раз степеней четырёх. Например, число 123
в четверичной системе обозначает (1 \cdot 4^2 + 2 \cdot 4^1 + 3 \cdot 4^0 = 27) в десятичной системе. Четверичную систему можно применять в компьютерных алгоритмах и некоторых специализированных областях, таких как шифрование.
Примеры чисел в различных системах
Давайте рассмотрим, как одно и то же число выглядит в разных системах счисления:
- Десятичная система: 10
- Двоичная система: 1010
- Четверичная система: 22
Алгоритм перевода числа в четверичную систему счисления
Для перевода числа из десятичной системы в четверичную нужно последовательно делить число на 4 и записывать остатки от деления, начиная с самого первого деления до тех пор, пока результат очередного деления не станет меньше 4. Затем прочитать остатки в обратном порядке.
Реализация на Python
Функция перевода числа
Ниже представлен пример Python функции для перевода числа из десятичной системы в четверичную с использованием типизации данных и комментариев:
def to_quaternary(n: int) -> str:
"""
Переводит десятичное число в четверичную систему счисления.
:param n: Десятичное число
:return: Число в четверичной системе в виде строки
"""
if n == 0:
return '0'
result = ''
while n > 0:
result = str(n % 4) + result
n //= 4
return result
Тестирование функции
Для проверки правильности работы функции можно использовать следующие тесты:
assert to_quaternary(10) == '22'
assert to_quaternary(0) == '0'
assert to_quaternary(15) == '33'
Примеры использования
Взаимодействие с пользователем
Создадим небольшой скрипт, который взаимодействует с пользователем, предлагая ввести число с клавиатуры и выводя его четверичное представление:
if __name__ == '__main__':
number = int(input('Введите число: '))
print(f'Четверичное представление: {to_quaternary(number)}')
Интеграция с другими модулями
Например, можно использовать библиотеку matplotlib для визуализации числа в четверичной системе. Можем построить график частоты появления каждой цифры в множествах чисел до 1000:
import matplotlib.pyplot as plt
def visualize_quaternary_distribution():
counts = [0, 0, 0, 0]
for i in range(1001):
quaternary = to_quaternary(i)
for digit in quaternary:
counts[int(digit)] += 1
labels = [str(x) for x in range(4)]
plt.bar(labels, counts)
plt.xlabel('Четверичные цифры')
plt.ylabel('Частота')
plt.title('Частота появления каждого числа в четверичной системе для чисел от 0 до 1000')
plt.show()
if __name__ == '__main__':
visualize_quaternary_distribution()
Заключение
Мы рассмотрели основные идеи и примеры перевода десятичных чисел в четверичную систему счисления. Понимание различных систем счисления важно для всех программистов. Эти знания облегчают разработку алгоритмов и решение нестандартных задач. Рекомендуем продолжить изучение других систем счисления и их применения на практике.