ГлавнаяИнструментыПеревод чисел между системами счисления

Перевод чисел между системами счисления

Введите число и укажите, в какой системе оно записано. Результат появится сразу в двоичной, восьмеричной, десятичной и шестнадцатеричной, а рядом — в любом основании от 2 до 36 на выбор. Дробная часть поддерживается: 10,5 в десятичной — это 1010,1 в двоичной. Правило после запятой такое же, как до неё, меняется только шаг разряда: в двоичной записи там стоят половины, четверти и восьмые доли — там, где в десятичной стоят десятые и сотые. Недопустимые знаки калькулятор называет прямо: цифры 9 в восьмеричной системе не существует, буква G выходит за границы шестнадцатеричной, и вместо результата появится объяснение, какой знак лишний.

Двоичная 2
Восьмеричная 8
Десятичная 10
Шестнадцатеричная 16
Своё основание

Соответствие от нуля до шестнадцати

Первые семнадцать чисел в четырёх системах. По ним видно главное свойство позиционной записи: чем меньше основание, тем длиннее запись одного и того же числа. Шестнадцать занимает пять знаков в двоичной, два в восьмеричной и два в шестнадцатеричной.

ДесятичнаяДвоичнаяВосьмеричнаяШестнадцатеричная
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010

Степени двойки

Круглые числа двоичной системы: в её записи это единица с нулями, а в шестнадцатеричной каждые четыре нуля превращаются в один. Ряд стоит держать под рукой при разговоре о размерах памяти и диапазонах значений: байт вмещает 256 значений, два байта — 65 536.

СтепеньДесятичнаяШестнадцатеричнаяДвоичная
20111
212210
2244100
23881000
24161010000
253220100000
2664401000000
271288010000000
28256100100000000
295122001000000000
2101 02440010000000000
2112 048800100000000000
2124 09610001000000000000
2138 192200010000000000000
21416 3844000100000000000000
21532 76880001000000000000000
21665 5361000010000000000000000

Зачем нужны разные основания

Двоичная система описывает состояние проводника: напряжение есть или напряжения нет, отсюда два знака на разряд. Читать длинные ряды нулей и единиц человеку тяжело, поэтому появилась шестнадцатеричная запись: один её знак укладывается ровно в четыре двоичных разряда, и байт записывается двумя символами вместо восьми. Цвет #C96442 — это три байта, каждый от 00 до FF. Восьмеричная система работает по тому же принципу с шагом в три разряда, и её главное живое применение сегодня — права доступа к файлам в Unix, где тройка «чтение, запись, выполнение» как раз укладывается в один восьмеричный знак: собрать такой код помогает калькулятор chmod.

Двоичные разряды видны и в сетях: маска подсети режет адрес по границе битов, и перевод адреса в двоичную запись показывает, где проходит эта граница — этим занят калькулятор подсетей. Отдельно стоит римская запись: она непозиционная, значение знака в ней не зависит от места, поэтому арифметика столбиком там невозможна, и переводится она отдельным инструментом. Все расчёты на этой странице идут в браузере, введённое число никуда не отправляется.

Как пользоваться

  1. Двоичная, восьмеричная, десятичная, шестнадцатеричная или своё основание от 2 до 36.
  2. Пробелы внутри записи допустимы, регистр букв не важен, дробная часть отделяется точкой или запятой. Приставки 0x, 0b и 0o отбрасываются.
  3. Он появится во всех четырёх основных системах и в дополнительном основании. Нажатие на значение копирует его.

Частые вопросы

Как перевести число в двоичную систему вручную

Целую часть делят на два и записывают остатки, читая их снизу вверх: 13 даёт остатки 1, 0, 1, 1 и превращается в 1101. Дробную часть умножают на два и снимают целые части сверху вниз: 0,625 после умножений даёт 1,25 → 0,5 → 1,0, то есть цифры 1, 0, 1 и запись 0,101. Сложить обратно проще: 1101 — это 8 + 4 + 0 + 1, а 0,101 — это половина плюс одна восьмая.

Почему одна десятая в двоичной системе не заканчивается

Дробь записывается конечным числом знаков только тогда, когда основание системы делится на все простые множители её знаменателя. Одна десятая — это 1/10, в десятке сидит множитель 5, а в степенях двойки пятёрки нет, поэтому получается бесконечная периодическая дробь 0,000110011… Половина, четверть и восьмая переводятся точно: их знаменатели сами являются степенями двойки. Из этой особенности растут знаменитые копеечные расхождения в денежных расчётах.

Какое основание можно задать своё

Любое целое от 2 до 36. Верхняя граница берётся из набора знаков: десять цифр плюс двадцать шесть латинских букв дают ровно тридцать шесть значений на один разряд, и для основания 37 символа уже не хватит. В системе с основанием 36 число 1295 записывается как ZZ, а 100 — как 2S.

Зачем в программировании шестнадцатеричная система

Она укладывается в двоичную без остатка: шестнадцать — это два в четвёртой степени, поэтому один шестнадцатеричный знак покрывает ровно четыре двоичных разряда, и байт из восьми бит записывается двумя знаками. Запись 11111111 превращается в FF, обратный перевод идёт по таблице без единого деления. Восьмеричный знак покрывает три разряда, в восемь бит такая тройка целиком уложиться уже отказывается, и байт приходится писать тремя знаками с укороченным старшим.

Что означают приставки 0x, 0b и 0o

Это пометки основания, принятые в языках программирования: 0x означает шестнадцатеричную запись, 0b — двоичную, 0o — восьмеричную. Нужны они потому, что запись 10 без пометки читается как десять в десятичной системе, как два в двоичной и как шестнадцать в шестнадцатеричной. В языке C восьмеричное число обозначал один ведущий ноль, из-за чего 010 там значит восемь — источник классических опечаток, поэтому в Python приставке дали явный вид 0o. Калькулятор все три отбрасывает сам, когда основание им соответствует.

Почему цвет в вебе записывается шестью шестнадцатеричными знаками

Цвет собирается из трёх каналов — красного, зелёного и синего, — и каждому отведён ровно один байт, то есть два шестнадцатеричных знака: три по два дают шесть. Байт принимает 256 значений от 00 до FF, вместе получается 256 в кубе, или 16 777 216 сочетаний. Короткая запись из трёх знаков просто удваивает каждый: #C64 разворачивается в #CC6644.

Откуда в компьютерах берутся числа 255 и 1024

255 — это два в восьмой степени минус один, наибольшее значение, помещающееся в один байт: восемь двоичных единиц подряд, 11111111. Отсюда же берутся 256 значений на канал цвета и верхние границы байтовых полей. 1024 — это два в десятой, ближайшая к тысяче степень двойки; расхождение с круглой тысячей составляет 2,4 %, а на кубе, то есть на гигабайтах, вырастает до 7,4 %, потому что 1024 в третьей степени равно 1 073 741 824.

Похожие инструменты

Ещё инструменты для SEO и маркетинга

Кластеризатор запросов, генераторы sitemap и robots.txt, минус-слова, разметка Schema.org и калькуляторы — в разделе инструментов.