Как переводить из системы в систему
Перевод чисел между системами счисления – базовая операция в программировании и математике. Калькулятор позволяет мгновенно конвертировать числа из двоичной, восьмеричной, десятичной и шестнадцатеричной систем и обратно. Полезен студентам, разработчикам и всем, кто работает с различными системами счисления.
в системе
=
в системе
Что такое система счисления
Система счисления – это способ записи чисел с помощью определённого набора символов (цифр) по установленным правилам. Основание системы определяет количество уникальных цифр: в десятичной системе их 10 (от 0 до 9), в двоичной – 2 (0 и 1), в шестнадцатеричной – 16 (0-9 и A-F, где A=10, B=11, C=12, D=13, E=14, F=15).
Позиционная система означает, что значение цифры зависит от её позиции в числе. Например, в числе 345₁₀ цифра 3 означает 300 (3×10²), 4 – это 40 (4×10¹), а 5 – просто 5 (5×10⁰).
Основные системы счисления
Двоичная (binary, основание 2) – базовая система для компьютеров, использует только 0 и 1. Каждый разряд соответствует степени двойки.
Восьмеричная (octal, основание 8) – применяется в программировании для компактной записи двоичных чисел, использует цифры 0-7.
Десятичная (decimal, основание 10) – привычная нам система для повседневных вычислений.
Шестнадцатеричная (hexadecimal, основание 16) – используется для записи адресов памяти, цветов в веб-дизайне (например, #FF5733), машинного кода. Цифры: 0-9, A-F.
Как переводить из десятичной системы в другую
Алгоритм деления
Для перевода десятичного числа в систему с основанием N:
- Делите число на N, записывайте остаток
- Продолжайте делить частное на N
- Записывайте остатки до тех пор, пока частное не станет 0
- Прочитайте остатки в обратном порядке (снизу вверх)
Пример: переведём 156₁₀ в двоичную систему:
- 156 ÷ 2 = 78, остаток 0
- 78 ÷ 2 = 39, остаток 0
- 39 ÷ 2 = 19, остаток 1
- 19 ÷ 2 = 9, остаток 1
- 9 ÷ 2 = 4, остаток 1
- 4 ÷ 2 = 2, остаток 0
- 2 ÷ 2 = 1, остаток 0
- 1 ÷ 2 = 0, остаток 1
Результат: 10011100₂
Как переводить из любой системы в десятичную
Умножайте каждую цифру на основание системы в степени её позиции (справа налево, начиная с 0) и суммируйте.
Формула: число = c₀×N⁰ + c₁×N¹ + c₂×N² + … + cₙ×Nⁿ
где c – цифра, N – основание системы.
Пример 1: переведём 1A3₁₆ в десятичную:
1A3₁₆ = 3×16⁰ + 10×16¹ + 1×16² = 3×1 + 10×16 + 1×256 = 3 + 160 + 256 = 419₁₀
Пример 2: переведём 101101₂ в десятичную:
101101₂ = 1×2⁰ + 0×2¹ + 1×2² + 1×2³ + 0×2⁴ + 1×2⁵ = 1 + 0 + 4 + 8 + 0 + 32 = 45₁₀
Быстрые способы перевода между двоичной и шестнадцатеричной
Эти системы связаны соотношением 2⁴ = 16, поэтому можно использовать упрощённый метод.
Из двоичной в шестнадцатеричную
Разбейте двоичное число на группы по 4 бита справа налево (добавьте нули слева при необходимости), замените каждую группу на шестнадцатеричную цифру:
Таблица соответствия:
| Двоичная | Hex | Двоичная | Hex |
|---|---|---|---|
| 0000 | 0 | 1000 | 8 |
| 0001 | 1 | 1001 | 9 |
| 0010 | 2 | 1010 | A |
| 0011 | 3 | 1011 | B |
| 0100 | 4 | 1100 | C |
| 0101 | 5 | 1101 | D |
| 0110 | 6 | 1110 | E |
| 0111 | 7 | 1111 | F |
Пример: 110101111010₂ = 1101 0111 1010 = D7A₁₆
Из шестнадцатеричной в двоичную
Замените каждую hex-цифру на 4-битную двоичную группу:
Пример: 2F8₁₆ = 0010 1111 1000 = 001011111000₂ (ведущие нули можно опустить: 10111111000₂)
Перевод между восьмеричной и двоичной системами
Аналогично шестнадцатеричной, но группы по 3 бита (2³ = 8).
Из двоичной в восьмеричную: разбивайте по 3 бита справа налево.
Пример: 101110₂ = 101 110 = 56₈
Из восьмеричной в двоичную: каждую цифру замените 3 битами.
Пример: 37₈ = 011 111 = 11111₂
Практические примеры
Задача 1: перевести IP-адрес из десятичного представления в двоичное.
IP: 192.168.1.1
- 192₁₀ = 11000000₂
- 168₁₀ = 10101000₂
- 1₁₀ = 00000001₂
Результат: 11000000.10101000.00000001.00000001
Задача 2: перевести цвет #FF5733 в RGB (десятичные значения).
- FF₁₆ = 255₁₀ (красный)
- 57₁₆ = 87₁₀ (зелёный)
- 33₁₆ = 51₁₀ (синий)
RGB: (255, 87, 51)
Частые ошибки при переводе
- Неправильный порядок остатков – при делении читайте результат снизу вверх, а не сверху вниз
- Пропуск ведущих нулей в промежуточных группах при переводе между двоичной и шестнадцатеричной
- Путаница с буквами в шестнадцатеричной системе (A=10, не 1 и не 0)
- Неверные степени – помните, что позиции нумеруются справа налево с нуля
Проверка результата
Переведите полученное число обратно в исходную систему. Если результат совпадает с исходным числом – перевод выполнен правильно.
Для быстрой проверки используйте онлайн-калькулятор в верхней части страницы или калькулятор на компьютере в режиме программиста (Windows: Calculator → Programmer mode).
Советы и рекомендации
- Для перевода между произвольными системами (например, из восьмеричной в шестнадцатеричную) используйте десятичную как промежуточную
- Записывайте основание системы как индекс (subscript): 1010₂, 255₁₀, FF₁₆ – это избавит от путаницы
- В программировании используйте префиксы: 0b для двоичных (0b1010), 0x для шестнадцатеричных (0xFF)
- Учитывайте разрядность: для байта достаточно 8 бит (0-255₁₀), для 32-битного числа – 8 hex-цифр
Часто задаваемые вопросы
Как перевести число из двоичной системы в десятичную?
Умножьте каждую цифру на 2 в степени её позиции справа (начиная с 0) и сложите результаты. Например: 1011₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11₁₀.
Как переводить из десятичной системы в другую?
Делите число на основание целевой системы, записывайте остатки справа налево. Например, 25₁₀ в двоичную: 25÷2=12 (ост.1), 12÷2=6 (ост.0), 6÷2=3 (ост.0), 3÷2=1 (ост.1), 1÷2=0 (ост.1). Результат: 11001₂.
Какие системы счисления используются в программировании?
Основные: двоичная (основание 2), восьмеричная (8), десятичная (10) и шестнадцатеричная (16). Двоичная – для машинного кода, шестнадцатеричная – для компактной записи адресов памяти и цветов.
Как быстро перевести число из двоичной в шестнадцатеричную систему?
Разбейте двоичное число на группы по 4 бита справа налево, каждую группу замените на шестнадцатеричную цифру. Например: 10111010₂ = 1011 1010 = BA₁₆.
Что означает основание системы счисления?
Основание показывает, сколько уникальных цифр используется. В десятичной системе (основание 10) – цифры от 0 до 9, в двоичной (основание 2) – только 0 и 1, в шестнадцатеричной (основание 16) – 0-9 и A-F.