Как пользоваться: Конвертер систем счисления
- Введите число в любое поле: десятичное, hex, двоичное, восьмеричное или произвольное основание (2–36). Остальные поля обновляются по мере ввода.
- Отрицательные числа вводятся со знаком минус в начале. Очень большие числа обрабатываются точно благодаря BigInt.
- Выберите 8, 16, 32 или 64 бита в виде битов, чтобы увидеть представление в дополнительном коде, знаковое и беззнаковое значения. Нажимайте на биты, чтобы их переключать.
- Используйте панель Текст ↔ hex ↔ двоичный код, чтобы закодировать текст в байты UTF-8 или декодировать hex/двоичный код обратно в текст.
Что такое система счисления?
Система счисления (или основание) — это количество различных цифр, которые используются в позиционной системе записи чисел. В десятичной системе десять цифр (0–9), в двоичной две (0–1), в восьмеричной восемь (0–7), а в шестнадцатеричной шестнадцать (0–9 и A–F). Каждая позиция имеет вес, равный основанию в степени номера позиции, поэтому hex 2F означает 2 × 16 + 15 = 47, а двоичное 101 означает 1 × 4 + 0 × 2 + 1 = 5. В системах с основанием до 36 для цифр используются буквы A–Z. Именно так короткие ID и сокращатели ссылок умещают большие числа в несколько символов.
Как переводить между системами счисления
В десятичную: умножьте каждую цифру на вес её позиции и сложите результаты. Например, двоичное 1101 = 8 + 4 + 0 + 1 = 13. Из десятичной: последовательно делите число на основание и читайте остатки снизу вверх. 13 ÷ 2 = 6 (остаток 1), 6 ÷ 2 = 3 (остаток 0), 3 ÷ 2 = 1 (остаток 1), 1 ÷ 2 = 0 (остаток 1), то есть 1101. Двоичная и шестнадцатеричная системы переводятся напрямую, потому что одна hex-цифра ровно равна четырём битам: 1111 1010 = FA. Восьмеричная система соответствует группам по три бита, поэтому права доступа Unix записывают в восьмеричном виде, например 755 (111 101 101 = rwx r-x r-x).
| Десятичная | Двоичная | Восьмеричная | Hex |
|---|---|---|---|
| 10 | 1010 | 12 | A |
| 255 | 1111 1111 | 377 | FF |
| 1024 | 100 0000 0000 | 2000 | 400 |
| 65535 | 1111 1111 1111 1111 | 177777 | FFFF |
Дополнительный код и знаковые целые
Компьютеры хранят отрицательные целые числа в дополнительном коде: инвертируют все биты положительного значения и прибавляют единицу. В 8 битах число 5 — это 00000101, а −5 — это 11111011 (hex FB, что при чтении как беззнакового числа равно 251). Старший бит выполняет роль знакового, поэтому 8-битное знаковое целое лежит в диапазоне от −128 до 127, 16-битное от −32 768 до 32 767, 32-битное от −2 147 483 648 до 2 147 483 647, а 64-битное примерно до ±9,22 × 1018. Значения за пределами диапазона «переполняются» и переходят на другой конец — это классическое переполнение целого. Вид битов выше показывает обе интерпретации одних и тех же битов.
Большие числа и JavaScript
Обычные числа в JavaScript — это 64-битные числа с плавающей точкой, и они теряют точность выше 253 − 1 (9 007 199 254 740 991). Этот конвертер использует BigInt, поэтому 64-битные ID, хеши и огромные значения переводятся точно. Чтобы закодировать байты в текст, а не в число, используйте Base64-кодировщик. Для цветовых кодов вроде #4F46E5 откройте конвертер цветов, который переводит hex в RGB и HSL.
Также ищут как: перевод hex в десятичное, hex конвертер, ascii в hex.
Инструменты, которые хорошо сочетаются с Конвертер систем счисления
- Генератор хешей — Мгновенно вычисляйте хеши MD5 и SHA для любого текста или файла, создавайте подписи HMAC и вставляйте ожидаемую контрольную сумму, чтобы проверить загрузку.
- Конвертер единиц — Переводите метрические, имперские и технические единицы в десяти категориях.
- Кодирование и декодирование URL — Выполняйте процентное кодирование текста для безопасного использования в URL, декодируйте закодированные строки обратно в читаемый текст и разбирайте любой URL на части и параметры запроса.
- Калькулятор разницы во времени — Добавьте города, которые вас интересуют, и посмотрите разницу во времени с вашим часовым поясом, текущее местное время и то, день сейчас или ночь.
Часто задаваемые вопросы
Как перевести двоичное число в десятичное?
10110 = 16 + 0 + 4 + 2 + 0 = 22. Или вставьте число в поле «Двоичная» выше.Как перевести hex в десятичное?
1F4 = 1 × 256 + 15 × 16 + 4 = 500.Что такое дополнительный код?
Почему −1 отображается как FFFFFFFF?
FFFFFFFF в hex или 4 294 967 295, если читать его как беззнаковое число.Как перевести текст в двоичный код?
01000001. Не-ASCII символы, такие как «é», занимают два или более байт.