Дискретная математика. Уравнения.

Тема в разделе "WASM.CRYPTO", создана пользователем hypers, 4 авг 2007.

  1. hypers

    hypers New Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2006
    Сообщения:
    34
    Значит задача такая:
    Найти одну неизвестную (A) в уравнении где есть бинарные операции:
    A+B = A XOR B.

    Я так понял операция XOR может переноситься из правой в левую часть:
    (A+B) XOR B = A

    Это неприменимо для операций AND и OR - т.к. по ним нельзя восстановить начальных значений.

    Подскажите, где можно почитать про эти уравнения.
     
  2. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    hypers
    Подскажите, где можно почитать про эти уравнения.

    Вот здесь была похожая тема.

    Найти одну неизвестную (A) в уравнении где есть бинарные операции:
    A+B = A XOR B.


    В данном конкретном случае решениями будут все А, для которых A AND B = 0
     
  3. hypers

    hypers New Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2006
    Сообщения:
    34
    Stiver
    Там на книжки ни одна ссылка не работает (2002г. темы. =/)
    Подскажите плз 1-2 книги для этих уравнений.

    Stiver
    Расскажи плиз поподробнее - как этот результат получил.
     
  4. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    hypers
    Хм, странно, Сизый пару дней назад точно открывался.. А так можешь брать любые учебники по теории чисел и алгебре. Только именно "для этих уравнений" никаких общих стандартных методов нет (насколько мне известно). Общий случай всегда сводится к более или менее хитрому побитовому перебору.

    Да просто на биты посмотри :) Ну можно еще вывести из A + B = A XOR B + 2* (A AND B)
     
  5. alexandr_k

    alexandr_k New Member

    Публикаций:
    0
    Регистрация:
    30 авг 2007
    Сообщения:
    26
    проще.
    ксор - та же операция сложения только без переноса единиц в старшие разряды.
    следовательно, для того чтобы уравнение было верным необходимо чтобы числа не имели единиц в одинаковых разрядах. (в бинарном виде) а эти числа выражаются простым выражением A AND B = 0. т.е. побитное умножение, имея в каждом разряде как минимум в одном из двух чисел 0 мы умножая получаем 0.
    вроде все понятно, по крайней мере для меня %)
    спасибо за интересный вопрос :)
     
  6. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    он здесь есть :)

    http://www.wasm.ru/docs/8/siz.zip
     
  7. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    ssx

    Да, забыл, что он на сайте лежит :)