Перейти к содержанию

BCD-декодер

Преобразуйте десятичные двоично-кодированные полубайты в десятичное число или наоборот.

Входные данные
Выходные данные

BCD-декодер

Десятичное число в двоичном коде (BCD) представляет десятичное число путем кодирования каждой цифры отдельно как отдельной 4-битной двоичной группы вместо одновременного преобразования всего числа в двоичное число. Этот инструмент считывает последовательность полубайтов BCD — записанных через пробел, например «0101 0111», или как одну непрерывную серию битов, например «01010111», — и возвращает десятичное число, которое они представляют. Он также работает в обратном порядке: введите десятичное число, и оно преобразует каждую цифру в 4-битный полубайт BCD.

Направление определяется автоматически: строка, состоящая только из 0 и 1, считывается как BCD для декодирования, все остальное обрабатывается как десятичное число для кодирования. Используйте опцию направления, чтобы принудительно использовать один режим, когда входные данные неоднозначны, например, короткий интервал, например «10», который действителен в любом случае. Разделитель полубайтов управляет тем, как группы разбиваются на части при декодировании и снова соединяются при кодировании — пробел по умолчанию, но работает любой символ или пустая строка, поэтому вы можете сопоставить формат, который ожидает таблица данных или устаревшая система.

Каждая 4-битная группа проверяется при чтении. Группа, длина которой не равна точно 4 битам, или группа, попадающая в диапазон 1010–1111, который никогда не используется BCD, сообщается как ошибка с именем группы-нарушителя, а не молча преобразуется в неправильную цифру - такая же осторожность важна для аппаратных протоколов, последовательных дампов и старых форматов баз данных, где неправильно прочитанный полубайт означает поврежденное значение. Ведущие нулевые цифры сохраняются, поскольку нулевой полубайт — это реальная позиция цифры в BCD, а не заполнение для удаления.

Все работает локально в вашем браузере. Строки BCD и десятичные числа, которые вы вставляете, никогда никуда не загружаются, поэтому их безопасно использовать с данными, полученными из реальных встроенных устройств, чипов RTC, калькуляторов или других систем, которые все еще хранят значения в BCD.

FAQ

Какие входные форматы он принимает?
Полубайты, разделенные пробелами, например «0101 0111», или одна непрерывная строка битов, например «01010111», — оба декодируют с одним и тем же результатом. Пользовательский разделитель (запятая, тире, новая строка…) также работает, если вы установите его в опции разделителя полубайтов.
Почему он отвергает некоторые 4-битные группы?
BCD присваивает значение только цифрам от 0000 до 1001 (цифры 0–9). Группы от 1010 до 1111 не содержат десятичных цифр в формате BCD, поэтому инструмент помечает их как ошибку, а не угадывает значение.
Как преобразовать десятичное число в BCD?
Установите направление «Десятичный в BCD» (или просто введите число с цифрой выше 1 — автоматическое определение подберет кодировку). Каждая цифра становится отдельным 4-битным полубайтом, к которому добавляется выбранный вами разделитель.
Правильно ли он обрабатывает ведущие нулевые цифры?
Да. «0000 0101 0111» декодируется в «057», а не в «57» — ведущий нулевой полубайт обрабатывается как позиция реальной цифры, поскольку именно так упакованные BCD представляют числа фиксированной ширины.
Загружены ли мои данные куда-нибудь?
Нет. Конвертация полностью выполняется в вашем браузере, и вводимые данные никогда не покидают ваше устройство.