Перевод чисел между системами счисления
Введите число и укажите, в какой системе оно записано. Результат появится сразу в двоичной, восьмеричной, десятичной и шестнадцатеричной, а рядом — в любом основании от 2 до 36 на выбор. Дробная часть поддерживается: 10,5 в десятичной — это 1010,1 в двоичной. Правило после запятой такое же, как до неё, меняется только шаг разряда: в двоичной записи там стоят половины, четверти и восьмые доли — там, где в десятичной стоят десятые и сотые. Недопустимые знаки калькулятор называет прямо: цифры 9 в восьмеричной системе не существует, буква G выходит за границы шестнадцатеричной, и вместо результата появится объяснение, какой знак лишний.
Соответствие от нуля до шестнадцати
Первые семнадцать чисел в четырёх системах. По ним видно главное свойство позиционной записи: чем меньше основание, тем длиннее запись одного и того же числа. Шестнадцать занимает пять знаков в двоичной, два в восьмеричной и два в шестнадцатеричной.
| Десятичная | Двоичная | Восьмеричная | Шестнадцатеричная |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
Степени двойки
Круглые числа двоичной системы: в её записи это единица с нулями, а в шестнадцатеричной каждые четыре нуля превращаются в один. Ряд стоит держать под рукой при разговоре о размерах памяти и диапазонах значений: байт вмещает 256 значений, два байта — 65 536.
| Степень | Десятичная | Шестнадцатеричная | Двоичная |
|---|---|---|---|
| 20 | 1 | 1 | 1 |
| 21 | 2 | 2 | 10 |
| 22 | 4 | 4 | 100 |
| 23 | 8 | 8 | 1000 |
| 24 | 16 | 10 | 10000 |
| 25 | 32 | 20 | 100000 |
| 26 | 64 | 40 | 1000000 |
| 27 | 128 | 80 | 10000000 |
| 28 | 256 | 100 | 100000000 |
| 29 | 512 | 200 | 1000000000 |
| 210 | 1 024 | 400 | 10000000000 |
| 211 | 2 048 | 800 | 100000000000 |
| 212 | 4 096 | 1000 | 1000000000000 |
| 213 | 8 192 | 2000 | 10000000000000 |
| 214 | 16 384 | 4000 | 100000000000000 |
| 215 | 32 768 | 8000 | 1000000000000000 |
| 216 | 65 536 | 10000 | 10000000000000000 |
Зачем нужны разные основания
Двоичная система описывает состояние проводника: напряжение есть или напряжения нет, отсюда два знака на разряд. Читать длинные ряды нулей и единиц человеку тяжело, поэтому появилась шестнадцатеричная запись: один её знак укладывается ровно в четыре двоичных разряда, и байт записывается двумя символами вместо восьми. Цвет #C96442 — это три байта, каждый от 00 до FF. Восьмеричная система работает по тому же принципу с шагом в три разряда, и её главное живое применение сегодня — права доступа к файлам в Unix, где тройка «чтение, запись, выполнение» как раз укладывается в один восьмеричный знак: собрать такой код помогает калькулятор chmod.
Двоичные разряды видны и в сетях: маска подсети режет адрес по границе битов, и перевод адреса в двоичную запись показывает, где проходит эта граница — этим занят калькулятор подсетей. Отдельно стоит римская запись: она непозиционная, значение знака в ней не зависит от места, поэтому арифметика столбиком там невозможна, и переводится она отдельным инструментом. Все расчёты на этой странице идут в браузере, введённое число никуда не отправляется.
Как пользоваться
- Двоичная, восьмеричная, десятичная, шестнадцатеричная или своё основание от 2 до 36.
- Пробелы внутри записи допустимы, регистр букв не важен, дробная часть отделяется точкой или запятой. Приставки 0x, 0b и 0o отбрасываются.
- Он появится во всех четырёх основных системах и в дополнительном основании. Нажатие на значение копирует его.
Частые вопросы
Как перевести число в двоичную систему вручную
Целую часть делят на два и записывают остатки, читая их снизу вверх: 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.
Похожие инструменты
Список в строку с разделителем и обратно. Переносы ↔ запятые/пробелы.
ОткрытьРазбить текст на частиДелит длинный текст на куски нужной длины: Telegram 4096, подпись 1024, ВК 4000, description 160, SMS 70. Не рвёт слова и предложения.
ОткрытьИзменить размер фотоПиксели вручную или готовый пресет: обложка ВК, превью YouTube, аватар, фото 3×4, печать 10×15. Пакетно, с обрезкой или полями.
ОткрытьТипографорКавычки-ёлочки «», дефис → тире, неразрывные пробелы после предлогов, чистка двойных пробелов. Аккуратная типографика для сайта.
ОткрытьГенератор sitemap.xmlСоберёт ссылки прямо с вашего сайта по адресу или сделает карту из готового списка URL. lastmod, changefreq, priority.
ОткрытьОбрезать строкиУдалить N символов с краёв, текст до/после символа, убрать приставку или окончание.
ОткрытьЕщё инструменты для SEO и маркетинга
Кластеризатор запросов, генераторы sitemap и robots.txt, минус-слова, разметка Schema.org и калькуляторы — в разделе инструментов.