Перевод чисел между системами счисления с решением онлайн
Калькулятор систем счисления онлайн: перевод чисел с пошаговым решением
Профессиональный инструмент для перевода чисел между позиционными системами счисления с основаниями от 2 до 36. Калькулятор выполняет арифметические операции в любой системе счисления и генерирует подробное пошаговое решение для учебных целей. Все алгоритмы реализованы на основе классических методов из D.E. Knuth "The Art of Computer Programming" и стандартов IEEE.
Область применения охватывает программирование, цифровую электронику, подготовку к экзаменам по информатике, изучение компьютерной архитектуры и решение задач ЕГЭ. Инструмент полностью воспроизводит методику решения задач из учебников NCERT и российских ВУЗов.
Перевод целых и дробных чисел, четыре арифметические операции с решением в столбик, быстрый перевод между связанными системами 2-8-16, таблица ASCII-кодов. Поддержка оснований от 2 до 36 с использованием цифр 0-9 и букв A-Z.
Позиционные системы счисления: теоретические основы
Определение и принцип построения
Позиционная система счисления — способ записи чисел, при котором значение каждой цифры определяется её позицией в числе. Основание системы (база) определяет количество используемых цифр и коэффициент изменения веса разрядов.
Основные системы счисления в информатике
| Название | Основание | Алфавит цифр | Применение |
|---|---|---|---|
| Двоичная (Binary) | 2 | 0, 1 | Внутреннее представление данных в ЭВМ |
| Восьмеричная (Octal) | 8 | 0, 1, 2, 3, 4, 5, 6, 7 | Права доступа UNIX, старые системы |
| Десятичная (Decimal) | 10 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 | Повседневные вычисления |
| Шестнадцатеричная (Hex) | 16 | 0-9, A, B, C, D, E, F | Адреса памяти, цвета, MAC-адреса |
Почему компьютеры используют двоичную систему
Электронные схемы наиболее надёжно различают два устойчивых состояния: наличие или отсутствие электрического сигнала. Это соответствует двум цифрам двоичной системы: 1 (высокий уровень напряжения) и 0 (низкий уровень). Реализация десятичной системы потребовала бы различения десяти уровней напряжения, что технически сложнее и менее надёжно.
Перевод чисел между системами счисления: алгоритмы и методы
Перевод из двоичной в десятичную систему (метод разложения по степеням)
Для перевода числа из любой системы в десятичную используется развёрнутая форма записи. Каждая цифра умножается на основание системы в степени, равной номеру позиции (нумерация справа налево, начиная с нуля).
1011(2) = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0
Шаг 2: Вычисляем степени двойки:
= 1*8 + 0*4 + 1*2 + 1*1
Шаг 3: Суммируем:
= 8 + 0 + 2 + 1 = 11(10)
Ответ: 1011(2) = 11(10)
Перевод из десятичной в двоичную систему (метод деления)
Для перевода целого десятичного числа в систему с основанием b выполняется последовательное деление на b. Остатки от деления образуют цифры искомого числа (читаются в обратном порядке, снизу вверх).
22 / 2 = 11, остаток 0
11 / 2 = 5, остаток 1
5 / 2 = 2, остаток 1
2 / 2 = 1, остаток 0
1 / 2 = 0, остаток 1
Ответ: Читаем остатки снизу вверх: 45(10) = 101101(2)
Быстрый перевод между системами 2, 8 и 16
Поскольку 8 = 2^3 и 16 = 2^4, существует быстрый метод перевода без промежуточного преобразования в десятичную систему:
- BIN -> OCT: Группируем биты по 3 справа налево (триады), каждую группу заменяем восьмеричной цифрой
- BIN -> HEX: Группируем биты по 4 справа налево (тетрады), каждую группу заменяем шестнадцатеричной цифрой
- OCT -> BIN: Каждую восьмеричную цифру заменяем триадой битов
- HEX -> BIN: Каждую шестнадцатеричную цифру заменяем тетрадой битов
| DEC | BIN (триада) | OCT | BIN (тетрада) | HEX |
|---|---|---|---|---|
| 0 | 000 | 0 | 0000 | 0 |
| 1 | 001 | 1 | 0001 | 1 |
| 2 | 010 | 2 | 0010 | 2 |
| 3 | 011 | 3 | 0011 | 3 |
| 4 | 100 | 4 | 0100 | 4 |
| 5 | 101 | 5 | 0101 | 5 |
| 6 | 110 | 6 | 0110 | 6 |
| 7 | 111 | 7 | 0111 | 7 |
| 8 | - | - | 1000 | 8 |
| 9 | - | - | 1001 | 9 |
| 10 | - | - | 1010 | A |
| 11 | - | - | 1011 | B |
| 12 | - | - | 1100 | C |
| 13 | - | - | 1101 | D |
| 14 | - | - | 1110 | E |
| 15 | - | - | 1111 | F |
11111111 -> 011 111 111 -> 3 7 7 -> 377(8)
В шестнадцатеричную (группы по 4):
11111111 -> 1111 1111 -> F F -> FF(16)
Проверка: 255(10) = 11111111(2) = 377(8) = FF(16)
Калькулятор двоичного счисления: арифметические операции
Таблицы двоичной арифметики
Арифметика в двоичной системе подчиняется тем же правилам, что и в десятичной, но использует только две цифры. Это делает таблицы операций предельно простыми.
| Сложение | Вычитание | Умножение |
|---|---|---|
| 0 + 0 = 0 | 0 - 0 = 0 | 0 * 0 = 0 |
| 0 + 1 = 1 | 1 - 0 = 1 | 0 * 1 = 0 |
| 1 + 0 = 1 | 1 - 1 = 0 | 1 * 0 = 0 |
| 1 + 1 = 10 (перенос) | 0 - 1 = 1 (заём) | 1 * 1 = 1 |
Сложение двоичных чисел
При сложении двух единиц возникает переполнение разряда: 1 + 1 = 10(2), что означает 0 в текущем разряде и перенос 1 в старший разряд. При сложении трёх единиц: 1 + 1 + 1 = 11(2), что даёт 1 в текущем разряде и перенос 1.
1 1 1 (переносы)
1 1 0 1
+ 1 0 1 1
---------
1 1 0 0 0
Пошагово:Разряд 0: 1 + 1 = 10 (пишем 0, перенос 1)
Разряд 1: 0 + 1 + 1 = 10 (пишем 0, перенос 1)
Разряд 2: 1 + 0 + 1 = 10 (пишем 0, перенос 1)
Разряд 3: 1 + 1 + 1 = 11 (пишем 1, перенос 1)
Разряд 4: 0 + 0 + 1 = 1 (пишем 1)
Проверка: 13 + 11 = 24 = 11000(2)
Вычитание двоичных чисел
При вычитании 1 из 0 требуется заём из старшего разряда. После заёма в текущем разряде оказывается 10(2) = 2(10), и вычитание становится возможным: 10 - 1 = 1.
Умножение двоичных чисел
Умножение выполняется методом "сдвига и сложения". Каждая цифра множителя умножается на множимое, результаты сдвигаются и складываются. Благодаря простоте таблицы умножения, каждое частичное произведение — либо ноль, либо само множимое.
В компьютерах вычитание реализуется через сложение с дополнительным кодом отрицательного числа. Это позволяет использовать один и тот же аппаратный сумматор для обеих операций.
Практическое применение систем счисления в программировании
Шестнадцатеричная система в разработке
Программисты предпочитают шестнадцатеричную систему для компактной записи двоичных данных. Один байт (8 бит) записывается двумя HEX-цифрами, что значительно короче восьми двоичных цифр.
| Область | Пример | Описание |
|---|---|---|
| Цвета RGB | #FF5733 | R=255, G=87, B=51 |
| MAC-адреса | 00:1A:2B:3C:4D:5E | 6 байт, разделённых двоеточием |
| Адреса памяти | 0x7FFF5FBFF8C0 | 48-битный адрес в x86-64 |
| Unicode | U+0410 | Код символа "А" (кириллица) |
| Escape-последовательности | \x0A | Символ перевода строки (LF) |
Восьмеричная система в UNIX
В операционных системах семейства UNIX права доступа к файлам традиционно записываются в восьмеричной системе. Каждая цифра представляет комбинацию прав: чтение (4), запись (2), выполнение (1).
Расшифровка:
7 = 111 = rwx (владелец: чтение, запись, выполнение)
5 = 101 = r-x (группа: чтение, выполнение)
5 = 101 = r-x (остальные: чтение, выполнение)
Калькулятор перевода чисел: инструкция по использованию
Режим перевода чисел
- Введите число в поле ввода (для HEX используйте буквы A-F)
- Выберите основание исходной системы (кнопками или вручную 2-36)
- Выберите основание целевой системы
- Нажмите "Перевести число"
- Изучите результат и пошаговое решение
Режим арифметических операций
- Выберите систему счисления для вычислений
- Введите два числа (A и B) в выбранной системе
- Выберите операцию: сложение, вычитание, умножение или деление
- Нажмите "Вычислить с решением"
- Просмотрите пошаговое решение в столбик
Режим быстрого перевода 2-8-16
Введите число в любое из четырёх полей (BIN, OCT, DEC, HEX), и остальные поля заполнятся автоматически. Под полями отображается группировка битов для наглядности метода триад и тетрад.
Используйте пошаговое решение для проверки своих расчётов. Калькулятор показывает каждый этап так, как требуется оформлять решение в контрольных работах и на ЕГЭ по информатике.
Справочные материалы по системам счисления
Степени двойки (важно для запоминания)
| n | 2^n | Применение |
|---|---|---|
| 0 | 1 | - |
| 1 | 2 | - |
| 2 | 4 | - |
| 3 | 8 | Основание OCT |
| 4 | 16 | Основание HEX |
| 7 | 128 | ASCII (7 бит) |
| 8 | 256 | 1 байт |
| 10 | 1 024 | 1 КиБ (кибибайт) |
| 16 | 65 536 | 2 байта (word) |
| 20 | 1 048 576 | 1 МиБ (мебибайт) |
| 32 | 4 294 967 296 | 4 байта (IPv4) |
Префиксы в языках программирования
| Система | C/C++/Java | Python | JavaScript |
|---|---|---|---|
| Двоичная | 0b1010 | 0b1010 | 0b1010 |
| Восьмеричная | 012 | 0o12 | 0o12 |
| Десятичная | 10 | 10 | 10 |
| Шестнадцатеричная | 0x0A | 0x0A | 0x0A |
Источники и литература
- D.E. Knuth — "The Art of Computer Programming", Volume 2: Seminumerical Algorithms, 3rd ed., Addison-Wesley, 1997
- M.M. Mano, C.R. Kime — "Logic and Computer Design Fundamentals", 5th ed., Pearson, 2015
- NCERT — Computer Science Textbook for Class XI, Chapter 2: Encoding Schemes and Number System
- Л.Л. Босова, А.Ю. Босова — Информатика. 8-10 класс, БИНОМ. Лаборатория знаний
- IEEE Std 754-2019 — Standard for Floating-Point Arithmetic
- ANSI X3.4-1986 — American Standard Code for Information Interchange (ASCII)
