Cześć
Mamy takie równanie:
Niewiadome, oraz same liczby są w systemie szestanstkowym, ale to nieważne.
Ma któś pomysł, jak znaleźć dowolne rozwiązanie takiego równania? Można "na pałę", ale ja podałem nieco uproszczone tutaj, swoje mam nieco bardziej skomplikowane, dlatego nie chcę pałować
\(\displaystyle{ a \oplus 67 + b \oplus 45 + c \oplus 23 + d \oplus 47 = 42 \\
a \oplus 67 \oplus 32 + b \oplus 12 \oplus 78 + c \oplus 23 \oplus 69 + d \oplus 47 \oplus 52 = DC}\)
równanie XORowe
-
- Użytkownik
- Posty: 939
- Rejestracja: 26 gru 2009, o 17:38
- Płeć: Mężczyzna
- Lokalizacja: Mazowsze
- Podziękował: 5 razy
- Pomógł: 228 razy
równanie XORowe
XOR jest łączne więc w drugim można na początku od razu obliczyć wyniki działań XOR pomiędzy \(\displaystyle{ 67}\) i \(\displaystyle{ 32}\) itd.
Jeśli zależy Ci na dowolnym rozwiązaniu to nie jest trudno. Wystarczy np. dobrać \(\displaystyle{ b,c,d}\) tak aby wyniki poszczególnych działań xor były równe \(\displaystyle{ 0}\). Zrobisz to po prostu przez ustalenie tych liczb jako równych stałym z którymi xor-ujesz.
Potem zostaje Ci dobrać liczbę \(\displaystyle{ a}\) tak aby uzyskać założony wynik. To też zrobisz bit po bicie.
Jeśli dany bit (np najstarszy) w stałej stojącej przy \(\displaystyle{ a}\) jest taki sam jak w wyniku to odpowiedni bit w liczbie \(\displaystyle{ a}\) będzie zerem, w przeciwnym wypadku jedynką.
Jeśli zależy Ci na dowolnym rozwiązaniu to nie jest trudno. Wystarczy np. dobrać \(\displaystyle{ b,c,d}\) tak aby wyniki poszczególnych działań xor były równe \(\displaystyle{ 0}\). Zrobisz to po prostu przez ustalenie tych liczb jako równych stałym z którymi xor-ujesz.
Potem zostaje Ci dobrać liczbę \(\displaystyle{ a}\) tak aby uzyskać założony wynik. To też zrobisz bit po bicie.
Jeśli dany bit (np najstarszy) w stałej stojącej przy \(\displaystyle{ a}\) jest taki sam jak w wyniku to odpowiedni bit w liczbie \(\displaystyle{ a}\) będzie zerem, w przeciwnym wypadku jedynką.