Вопрос

Как я могу получить 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);
    }
}
Это было полезно?

Решение

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top