VITON13 SCHOOL · Коды и шифры
Перевод систем счисления онлайн и двоичный код
Числа в любой системе от 2 до 36 и текст в двоичный код — всё пересчитывается при вводе, а решение записано так, как его пишут в школьной тетради.
Перевод чисел
Пишите в любом поле — остальные пересчитываются при вводе. Пробелы не мешают, дробная часть отделяется запятой или точкой, период пишется в скобках: 0,(3).
Бит: 11 · байт: 2
Решение
Из системы с основанием 10 в систему с основанием 2
Целая часть: делим на 2
Делите на 2, пока частное не станет 0. Каждый остаток — одна цифра ответа.
| Деление | Частное | Остаток |
|---|---|---|
| 2026 : 2 | 1013 | 0 |
| 1013 : 2 | 506 | 1 |
| 506 : 2 | 253 | 0 |
| 253 : 2 | 126 | 1 |
| 126 : 2 | 63 | 0 |
| 63 : 2 | 31 | 1 |
| 31 : 2 | 15 | 1 |
| 15 : 2 | 7 | 1 |
| 7 : 2 | 3 | 1 |
| 3 : 2 | 1 | 1 |
| 1 : 2 | 0 | 1 |
Записываем остатки снизу вверх2026₁₀ = 11111101010₂
Ответ2026₁₀ = 11111101010₂
Текст
Пишите с любой стороны. Двоичный код и hex можно вставлять с пробелами и без. Байты в UTF-8, поэтому русские буквы, ё и эмодзи переводятся верно.
Символов: 6 · байт: 12 · бит: 96
По символам
UTF-8 записывает латинскую букву одним байтом, русскую — двумя, € — тремя, большинство эмодзи — четырьмя. Светлые биты показывают, сколько байт идут вместе, тёмные — собственный номер символа.
- ПU+041F
1101000010011111D0 9F - рU+0440
1101000110000000D1 80 - иU+0438
1101000010111000D0 B8 - вU+0432
1101000010110010D0 B2 - еU+0435
1101000010110101D0 B5 - тU+0442
1101000110000010D1 82
Дополнительный код
Как компьютер хранит целые числа, в том числе отрицательные, в фиксированном числе бит.
Со знаком: от -128 до 127. Без знака: от 0 до 255.
Нажмите на бит, чтобы переключить его
- Со знаком
- -5
- Без знака
- 251
- Hex
- 0xFB
- Двоичный
- 1111 1011
Как записать -5
- Модуль 5 в 8 битах (прямой код)
0000 0101 - Инвертируем все биты (обратный код)
1111 1010 - Прибавляем 1 (дополнительный код)
1111 1011
Числа от 0 до 15 в четырёх системах
Нажмите на строку, чтобы открыть число в переводчике.
Степени двойки
Как пользоваться переводчиком
- Введите число в любое полеДвоичное, восьмеричное, десятичное, шестнадцатеричное или любое основание от 2 до 36 — остальные поля меняются сразу. Дробная часть пишется через запятую или точку.
- Посмотрите решениеПод полями записано решение: деление на основание с остатками для целой части, умножение для дробной, развёрнутая форма для перевода в десятичную и тетрады между двоичной и шестнадцатеричной.
- Переведите текст и отрицательные числаВо вкладке «Текст» буквы превращаются в байты 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.
Источники
Статьи по теме
Ещё инструменты
Коды и шифры