VITON13School

VITON13 SCHOOL · Коды и шифры

Перевод систем счисления онлайн и двоичный код

Числа в любой системе от 2 до 36 и текст в двоичный код — всё пересчитывается при вводе, а решение записано так, как его пишут в школьной тетради.

Автор: , основатель VITON13 SCHOOL

Перевод чисел

Пишите в любом поле — остальные пересчитываются при вводе. Пробелы не мешают, дробная часть отделяется запятой или точкой, период пишется в скобках: 0,(3).

Бит: 11 · байт: 2

Двоичные цифры
Примеры

Решение

Показать перевод в систему с основанием

Из системы с основанием 10 в систему с основанием 2

Целая часть: делим на 2

Делите на 2, пока частное не станет 0. Каждый остаток — одна цифра ответа.

ДелениеЧастноеОстаток
2026 : 210130
1013 : 25061
506 : 22530
253 : 21261
126 : 2630
63 : 2311
31 : 2151
15 : 271
7 : 231
3 : 211
1 : 201

Записываем остатки снизу вверх2026₁₀ = 11111101010₂

Ответ2026₁₀ = 11111101010₂

Как пользоваться переводчиком

  1. Введите число в любое полеДвоичное, восьмеричное, десятичное, шестнадцатеричное или любое основание от 2 до 36 — остальные поля меняются сразу. Дробная часть пишется через запятую или точку.
  2. Посмотрите решениеПод полями записано решение: деление на основание с остатками для целой части, умножение для дробной, развёрнутая форма для перевода в десятичную и тетрады между двоичной и шестнадцатеричной.
  3. Переведите текст и отрицательные числаВо вкладке «Текст» буквы превращаются в байты UTF-8 и обратно. Во вкладке «Знаковые» — дополнительный код на 8, 16, 32 и 64 бита, каждый бит можно переключить нажатием.

Как устроены позиционные системы счисления

В позиционной системе каждый разряд весит основание в степени номера разряда: в двоичной системе это 1, 2, 4, 8, 16 и так далее, поэтому 1011₂ = 8 + 0 + 2 + 1 = 11₁₀. Для оснований больше 10 не хватает цифр, и используют буквы: A = 10, B = 11 и так до Z = 35 в системе с основанием 36.

Дробь записывается в системе конечным числом цифр, только если в знаменателе несократимой дроби нет простых множителей, которых нет у основания. У 1/10 есть множитель 5, а у 2 его нет, поэтому 0,1 в двоичной системе — бесконечная периодическая дробь 0,0(0011)₂. Переводчик находит период и пишет его в скобках, как в учебнике.

Компьютер хранит текст как числа. В кодировке UTF-8, самой распространённой в интернете, символ занимает от 1 до 4 байт: латинская A — один байт 01000001, русская Я — два байта D0 AF, знак € — три, большинство эмодзи — четыре. Отрицательные целые числа обычно хранят в дополнительном коде.

Вопросы о системах счисления

Как перевести число из десятичной системы в двоичную?

Делите число на 2, пока частное не станет 0, и записывайте остатки. Остатки читают снизу вверх: у 11 это 1, 1, 0, 1, значит 11₁₀ = 1011₂. Переводчик строит такую таблицу для любого числа и любого основания.

Как перевести текст в двоичный код?

Каждый символ кодировка превращает в байты — обычно это UTF-8, — а каждый байт записывается восемью битами. Русские буквы занимают по два байта: Я — это 11010000 10101111. Таблица по символам показывает, как получились эти биты.

Почему 0,1 нельзя точно перевести в двоичную систему?

В двоичной системе конечны только дроби, у которых знаменатель — степень двойки. 0,1 = 1/10, а в 10 есть множитель 5, поэтому двоичные цифры повторяются бесконечно: 0,0(0011)₂. Из-за этого в большинстве языков программирования 0,1 + 0,2 не равно ровно 0,3.

Что такое дополнительный код?

Это обычный способ хранить отрицательные целые числа в фиксированном числе бит: модуль числа записывают в двоичном виде, инвертируют все биты и прибавляют 1. В 8 битах −5 — это 11111011, а диапазон — от −128 до 127.

Источники

  1. Двоичная система счисления — Википедия
  2. Дополнительный код — Википедия
  3. RFC 3629: UTF-8, a transformation format of ISO 10646

Статьи по теме

Ещё инструменты

Коды и шифры