ИЛИ операция не может вычислить исходное значение? - PullRequest
0 голосов
/ 04 мая 2018
a|b=c

зная a и c, как рассчитать b

Например:

0011 | b = 0111

Зная a = 0011 и c = 0111, как вычислить b как 0101

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

В некоторых логиках также есть «значение» для неизвестного X

Так что, если вы хотите получить b из a|b=c => 0011 | b = 0111, на мой взгляд, самый хороший ответ будет 01XX

Все, что есть:

  • 0 в c должно быть 0 в b
  • 1 в c и 0 в a должно быть 1 в b
  • 1 в c и 1 в a неизвестно X
0 голосов
/ 04 мая 2018

Будет более одного правильного ответа.

Для простоты рассмотрим тривиальный пример: 1|0 = 1, т.е. a = 1, b = 0 и c = 1. В этом случае b также может быть 1.

Итак, учитывая, что бит в a равен 1, мы не сможем точно знать, равен ли бит в b 0 или 1.

...