nicetool.dev logo

Конвертер систем счисления

Вводите в любое поле, остальные обновятся. Поддерживаются префиксы 0b, 0o, 0x и разделители разрядов.

8 бит1 байтПомещается в 8 бит

Дополнительный код

8 бит1111 11110xFF
16 бит0000 0000 1111 11110x00FF
32 бит0000 0000 0000 0000 0000 0000 1111 11110x000000FF
64 бит0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1111 11110x00000000000000FF

Показывает, как значение хранится в целом числе фиксированной ширины. Отрицательные числа представлены в дополнительном коде, значения выше знакового максимума показаны как беззнаковые.

Что такое система счисления?

Основание системы счисления показывает, сколько цифр использует позиционная запись. Люди считают в десятичной системе, компьютеры хранят данные в двоичной, а программисты читают адреса памяти, цвета и байты в шестнадцатеричной, потому что одна hex-цифра соответствует ровно четырём битам. Конвертер работает с целыми числами произвольной точности, поэтому 64-битные и ещё большие значения переводятся точно, без округления.

Возможности

  • • Двоичная, восьмеричная, десятичная и шестнадцатеричная рядом, а также любая система от 2 до 36
  • • Целые числа любого размера на BigInt, включая отрицательные
  • • Принимает префиксы 0b, 0o, 0x и пробелы или подчёркивания между цифрами
  • • Длина в битах и байтах, группировка разрядов и hex заглавными
  • • Дополнительный код для 8-, 16-, 32- и 64-битных чисел

Быстро и конфиденциально

Все преобразования выполняются в браузере по мере ввода. Числа не отправляются на сервер.

Точные вычисления BigInt, 100% на стороне клиента.

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

  1. 1

    Введите число в любое поле: двоичное, восьмеричное, десятичное, шестнадцатеричное или своё основание. Принимаются префиксы 0x, 0b, 0o и разделители вроде 1_000 или пробелов.

  2. 2

    Остальные поля обновляются сразу. В своём поле выберите любое основание от 2 до 36, например 36 для коротких ID.

  3. 3

    Включите группировку разрядов, чтобы читать длинные значения (двоичные по 4 цифры, hex по байтам), и выберите регистр букв в hex.

  4. 4

    Посмотрите длину в битах и таблицу дополнительного кода, чтобы понять, как значение хранится в 8-, 16-, 32- и 64-битных целых, и скопируйте нужный формат.

Практические примеры

Чтение hex-дампов и цветов

0xFF - это 255, значит CSS-цвет #FF8000 означает красный 255, зелёный 128 и синий 0. Перевод по байтам помогает отлаживать цвета и двоичные форматы.

Права доступа в Unix

chmod 755 записан в восьмеричной системе. В двоичной это 111 101 101: чтение, запись и выполнение для владельца, чтение и выполнение для группы и остальных.

Битовые флаги и маски

Флаги, хранящиеся как целое число, проще понять в двоичном виде. 13 - это 1101, то есть установлены флаги 0, 2 и 3.

Отрицательные числа в низкоуровневом коде

Код ошибки 0xFFFFFFFF из C API - это -1 как знаковое 32-битное целое. Таблица дополнительного кода показывает обе трактовки.

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

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

Одна hex-цифра - ровно четыре бита, две цифры - байт. Адреса памяти, цвета, хеши и байты в hex намного короче и понятнее, чем в двоичном виде.

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

Стандартный способ хранения знаковых целых. Старший бит имеет отрицательный вес, поэтому в 8 битах 11111111 означает -1, а 10000000 означает -128.

Есть ли ограничение по размеру?+

Практически нет. Конвертер использует BigInt, поэтому числа далеко за пределами 64 бит переводятся точно, в отличие от калькуляторов, которые переходят к плавающей точке и теряют цифры.

Какие цифры используются в системах больше 10?+

После 0-9 идут латинские буквы A-Z: в 16-ричной 0-9 и A-F, в 36-ричной все цифры и 26 букв. Регистр при вводе не важен.