Что такое обратная операция побитового И?

Как я могу получить a от b а также c? Какой будет обратная операция?

Вот код:

class  s
{
    public static void main(String ar[])
    {

        int a = 20;

        int b = 5;

        int c = 0;

        c = (a & b) ;

        System.out.println(c);

        int d = (c & b);

        System.out.println(d);
    }
}

2 ответа

Решение

Ты не можешь Если немного в c 0 и соответствующий бит в b 0, невозможно узнать, есть ли соответствующий бит в a было 0 или 1. По аналогичному аргументу, побитовое ИЛИ (| оператор) также необратим. С другой стороны, побитовый XOR (^ оператор) является обратимым.

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

Только equals а также xor имеют сбалансированные таблицы истинности, и они являются двумя обратимыми логическими операторами.

Другие вопросы по тегам