Задать вопрос
Ответы пользователя по тегу Математика
  • Как сравнить два числа в коде Грея?

    freelion
    @freelion Автор вопроса
    {}
    Чтобы сравнить два числа грея без перевода в бинарную систему мы используем его рефлективность. Числа будем сравнивать побитово. Если у нас первый бит у X равен 0 а у Y равен 1, то Y больше X. Если у нас два числа начинаются одинаково, то все равно смотрим на первый бит. Допустим он у нас 0 в таком случае сравниваем два следующих бита как обычно (т.е. 1 больше 0). Если же у нас первый бит 1, то нужно сделать инвертирование сравнения следующего 2-го бита (т.е. 0 больше 1)

    Например имеем числа 4 (десятичное) и 6 (десятичное), после перевода их в числа Грея будем иметь соотвественно 110 и 101. Как мы видим первый бит 1 значит следующий надо сравнить инвертируя логику (101 больше чем 110). Если единица в качестве первого бита будет два раза подряд то инвертируем два раза. Возьмем числа 8 и 9 и представим в виде кода Грея 1100 и 1101. 1й бит одинаковый и единица - инвертируем логику сравнивания, 2й бит снова единица снова инвертируем обратно, 3й бит одинаковый это 0 то ничего не инвертируем и сравниваем нормально последний 4й бит. В 9ке он равен единице а в 8ке нулю. То есть (1100 меньше чем 1101)
    Ответ написан
    Комментировать