Калькулятор систем счисления
Переводит целые и дробные числа между системами счисления с основанием от 2 до 36 и показывает решение, как на уроке информатики.
Как считается
Из любой системы в десятичную число переводят разложением по степеням основания: каждую цифру умножают на основание в степени, равной номеру разряда, и складывают.
1A3₁₆ = 1·16² + 10·16¹ + 3·16⁰ = 256 + 160 + 3 = 419₁₀
Из десятичной в другую систему целую часть делят на новое основание с остатком, пока частное не станет нулём, и выписывают остатки снизу вверх: 255 : 2 = 127 (ост. 1), 127 : 2 = 63 (ост. 1) … 1 : 2 = 0 (ост. 1), значит 255₁₀ = 11111111₂. Дробную часть, наоборот, умножают на основание и записывают целые части произведений сверху вниз.
Между двумя «недесятичными» системами калькулятор переводит через десятичную, а для 2, 4, 8, 16 и 32 дополнительно показывает быстрый способ — группами по 3 или 4 бита. Все вычисления идут в целых числах без ограничения длины, поэтому даже 20-значные числа переводятся без потери точности.
Что такое система счисления
Система счисления — способ записи чисел цифрами. В позиционной системе значение цифры зависит от её места: в числе 555 первая пятёрка означает пять сотен, последняя — пять единиц. Число, которое показывает, во сколько раз соседние разряды отличаются друг от друга, называют основанием. Мы привыкли к десятичной системе, компьютеры работают в двоичной, а программисты для краткости пользуются восьмеричной и шестнадцатеричной. Основание пишут маленьким индексом справа: 1010₂ = 10₁₀.
Если цифр не хватает, после 9 используют латинские буквы: A = 10, B = 11, … F = 15 в шестнадцатеричной системе и до Z = 35 в системе с основанием 36. Калькулятор работает с любыми основаниями от 2 до 36, регистр букв не важен.
Как перевести число из десятичной системы в двоичную
Число делят на 2 с остатком, затем частное снова делят на 2 — и так до тех пор, пока частное не станет равным нулю. Остатки, выписанные снизу вверх, и есть двоичная запись. Для 45: 45 : 2 = 22 (ост. 1), 22 : 2 = 11 (ост. 0), 11 : 2 = 5 (ост. 1), 5 : 2 = 2 (ост. 1), 2 : 2 = 1 (ост. 0), 1 : 2 = 0 (ост. 1). Читаем снизу вверх: 45₁₀ = 101101₂. Так же переводят в любую другую систему — делят на её основание.
Как перевести из двоичной системы в десятичную
Нумеруем разряды справа налево с нуля и складываем степени двойки там, где стоят единицы: 101101₂ = 1·2⁵ + 0·2⁴ + 1·2³ + 1·2² + 0·2¹ + 1·2⁰ = 32 + 8 + 4 + 1 = 45. Для восьмеричной системы берут степени восьмёрки, для шестнадцатеричной — степени 16.
Перевод между 2, 8 и 16 триадами и тетрадами
Поскольку 8 = 2³, а 16 = 2⁴, каждой восьмеричной цифре соответствуют ровно три бита (триада), а шестнадцатеричной — четыре (тетрада). Чтобы перевести двоичное число в шестнадцатеричное, его разбивают на четвёрки справа налево, дополняя слева нулями, и заменяют каждую четвёрку цифрой: 1 1010 0011₂ → 0001 1010 0011 → 1A3₁₆. Обратный перевод — замена каждой цифры её тетрадой. Между восьмеричной и шестнадцатеричной системами удобно идти через двоичную. Деление здесь не нужно, поэтому способ любят на ЕГЭ.
Перевод дробных чисел
Целую и дробную части переводят отдельно. Дробную часть умножают на основание новой системы, целая часть произведения становится очередной цифрой после запятой: 0,75 · 2 = 1,5 → 1; 0,5 · 2 = 1 → 1. Значит, 10,75₁₀ = 1010,11₂. Если дробная часть повторилась, дробь периодическая: 0,1₁₀ = 0,0(0011)₂. Калькулятор находит период точно, а также показывает значение с выбранным числом знаков — без округления, как принято в школьных задачах.
Сложение и вычитание в двоичной системе столбиком
Правила те же, что в десятичной системе, только перенос происходит, когда сумма в разряде достигает основания: 1 + 1 = 10₂ — пишем 0, единицу переносим. При вычитании занятая единица старшего разряда равна двум единицам младшего. Например, 101101₂ + 1101₂ = 111010₂ (45 + 13 = 58). На вкладке «Арифметика» можно сложить, вычесть, умножить или разделить с остатком числа в любой системе от 2 до 36 и посмотреть запись столбиком.
Таблица чисел от 0 до 16 в системах 2, 8, 10 и 16
Задачи ЕГЭ по информатике
Частая задача — посчитать, сколько единиц в двоичной записи выражения со степенями. Помогают два факта: 2ⁿ в двоичной системе — единица и n нулей, а 2ⁿ − 1 — ровно n единиц. Например, 4⁸ + 2⁵ − 1 = 2¹⁶ + 31: это единица в 17-м разряде и пять единиц в младших, всего 6 единиц. Проверить ответ можно здесь: калькулятор работает с длинными числами, а степень большого числа поможет посчитать соседний калькулятор. Сколько разрядов займёт число в системе с основанием b, подскажет логарифм по этому основанию.
Вопросы и ответы
Как перевести число из десятичной системы в двоичную?
Делите число на 2 с остатком, пока частное не станет 0, и выпишите остатки снизу вверх. Например, 13 : 2 = 6 (ост. 1), 6 : 2 = 3 (ост. 0), 3 : 2 = 1 (ост. 1), 1 : 2 = 0 (ост. 1) — получается 1101₂.
Как быстро перевести из двоичной в шестнадцатеричную?
Разбейте двоичное число на группы по 4 цифры справа налево, дополните последнюю группу нулями слева и замените каждую группу шестнадцатеричной цифрой: 11111111₂ → 1111 1111 → FF₁₆.
Почему 0,1 нельзя точно записать в двоичной системе?
Конечная двоичная дробь — это дробь со знаменателем-степенью двойки, а 0,1 = 1/10 и в знаменателе есть множитель 5. Поэтому получается периодическая дробь 0,0(0011)₂. Из-за этого в программах 0,1 + 0,2 иногда даёт 0,30000000000000004.
Какие цифры используются в шестнадцатеричной системе?
Шестнадцать цифр: 0–9 и латинские буквы A, B, C, D, E, F, которые обозначают числа от 10 до 15. Например, FF₁₆ = 15·16 + 15 = 255.
Как сложить два двоичных числа?
Столбиком, начиная с младшего разряда: 0 + 0 = 0, 0 + 1 = 1, 1 + 1 = 10 (пишем 0, переносим 1), 1 + 1 + 1 = 11 (пишем 1, переносим 1). Например, 101101₂ + 1101₂ = 111010₂.
Сколько единиц в двоичной записи числа (задача ЕГЭ)?
Переведите число в двоичную систему и посчитайте единицы. Для выражений со степенями двойки помните: 2ⁿ — это единица и n нулей, а 2ⁿ − 1 — n единиц подряд. Так, 255 = 2⁸ − 1 = 11111111₂ — восемь единиц.