Сейчас на форуме: Adler, asfa, bartolomeo (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Существует ли функция обратная логическому "И"?
Посл.ответ Сообщение


Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 06 июня 2012 12:42 · Поправил: ZaZa
· Личное сообщение · #1

Доброго времени суток!

Есть такой вот код:
Code:
  1. MOV EAX, Value_1
  2. AND EAX, Value_2
  3. MOV Result, EAX


Допустим, что Value_1 = 0xA, Value_2=0x3
Результатом будет: 0x2...

Вопрос: как мне обратить данную функцию, чтобы имея на руках Result и Value_2, я смог получить Value_1...
Булева алгебра утомила в конец, догадываюсь, что какая-то формула должна быть, но допереть не могу (голова не варит)...

Заранее благодарен!

-----
One death is a tragedy, one million is a statistic.




Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 06 июня 2012 12:57
· Личное сообщение · #2

Нет такой функции.
1 & 0 = 0
0 & 0 = 0
Как это можно обратить?

-----
старый пень




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 06 июня 2012 13:01 · Поправил: Veliant
· Личное сообщение · #3

зная Result и Value_2 получаешь массив значений Value_1 которые подойдут. Однозначно никак, если других выражений больше нет с этими переменными




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 06 июня 2012 13:39
· Личное сообщение · #4

Может стоит поиграться с битами через отрицание + сложение + еще как?

-----
One death is a tragedy, one million is a statistic.





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 06 июня 2012 13:46 · Поправил: Vamit
· Личное сообщение · #5

Ответили же - полностью никак.
Можешь 100% восстановить только биты, соответствующие единичным битам в Result и Value_2.

-----
Everything is relative...





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 06 июня 2012 13:50
· Личное сообщение · #6

Почитай, что такое биективность. Что функция обратима тогда и только тогда, когда отображение биективно. И что И, как и ИЛИ, ни разу не биективно.

| Сообщение посчитали полезным: Flint, ZaZa


Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 06 июня 2012 14:16
· Личное сообщение · #7

Всем спасибо!

-----
One death is a tragedy, one million is a statistic.



 eXeL@B —› Вопросы новичков —› Существует ли функция обратная логическому "И"?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати