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

Конвертер двоичного кода в код Грея

Преобразование между двоичным кодом и кодом Грея (отраженный двоичный), где два последовательных значения отличаются ровно одним битом. Поддерживает обе направления плюс десятичный эквивалент.

Ввод

Только цифры 0 и 1, до 64 бит.

Вывод

Десятичное значение преобразованного кода (выход).

Это было полезно?

Руководства

Что такое код Грея?

Код Грея — также называемый отраженным двоичным кодом — это способ упорядочения двоичной системы счисления таким образом, чтобы любые два последовательных значения отличались ровно одним битом. Стандартный двоичный счет не имеет этого свойства: переход с 0111 на 1000 переворачивает все четыре бита одновременно. Код Грея устраняет этот "многобитовый скачок", так что значение изменяется только на одну позицию за раз при подсчете вверх или вниз.

Почему изменение одного бита важно

В физических и цифровых системах биты редко переключаются в точно одно и то же время. Если несколько битов двоичного счетчика изменяются одновременно, читатель может на мгновение увидеть недействительное промежуточное значение — сбой. Поскольку код Грея изменяет только один бит между соседними значениями, это условие гонки исчезает, поэтому оно встречается в нескольких местах:

  • Поворотные энкодеры и датчики абсолютного положения — положение вала читается прямо с кодированной кодом Грея дорожки, поэтому механическое смещение между битами датчика не может привести к совершенно неправильному показанию, только к смещению на одну единицу.
  • Карты Карно — строки и столбцы карты Карно упорядочены в коде Грея, так что логически соседние ячейки (отличающиеся одной входной переменной) также физически соседствуют, что облегчает визуальное определение групп единиц.
  • Коррекция ошибок и цифровые коммуникации — поскольку соседние значения кода отличаются одним битом, однобитовая ошибка передачи, как правило, дает близкое декодированное значение, а не совершенно другое, на что полагаются некоторые схемы кодирования для ограничения воздействия ошибки.
  • Аналого-цифровые преобразователи — выборка вблизи граница перехода менее вероятно будет производить большую многобитовую ошибку выхода.

Как использовать этот инструмент

  1. Введите значение, состоящее только из цифр 0 и 1 (до 64 бит), в поле Значение.
  2. Выберите Направление: Двоичный → Код Грея для кодирования или Код Грея → Двоичный для декодирования.
  3. Преобразованное значение и его Десятичный эквивалент обновляются автоматически при вводе.

Формулы преобразования

Двоичный → Грей: верхний бит (самый значимый) копируется без изменений; каждый другой бит Грея является XOR текущего и предыдущего двоичных битов. Это битовая форма хорошо известной формулы gray = binary XOR (binary >> 1).

Грей → Двоичный: верхний бит копируется без изменений; каждый другой двоичный бит является XOR ранее декодированного двоичного бита и текущего бита Грея. В отличие от направления кодирования, декодирование является последовательным — каждый выходной бит зависит от предыдущего.

Часто задаваемые вопросы

Представляет ли код Грея другое число, чем двоичный? Нет — слово кода Грея и слово двоичного кода одинаковой длины могут каждое представлять одно и то же целое число; это просто два разных битовых паттерна для подсчета одного диапазона. Этот инструмент показывает десятичное значение только что полученного кода, поэтому вы можете увидеть, как он отображается на обычное число.

Всегда ли код Грея имеет ту же длину, что и входное значение? Да, обе направления сохраняют длину бита — биты не добавляются и не удаляются, поэтому ведущая структура (и любые введенные вами нулевые биты) переносятся в результат.

Могу ли я преобразовать число в десятичной системе напрямую? Сначала преобразуйте его в двоичный (например, используя конвертеры двоичных/десятичных этого сайта), а затем вставьте двоичную строку здесь.

Конфиденциальность

Этот инструмент работает полностью в вашем браузере. Ваши входные данные никогда не загружаются на сервер.

binarygray codereflected binarybitwiseencoding

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/binary-gray-code \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "1011",
    "mode": "binary-to-gray"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `binary-gray-code` tool (Binary to Gray Code Converter) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.