Poprawna odpowiedź to 0011₂, bo dokładnie taki jest wynik operacji XOR wykonanej bit po bicie na liczbach 1010₂ i 1001₂. Funkcja XOR (exclusive OR) działa według bardzo prostej zasady: wynik jest 1 tylko wtedy, gdy bity wejściowe są różne, a gdy są takie same (0–0 lub 1–1), wynik to 0. Zróbmy to spokojnie krok po kroku, wyrównując liczby do tych samych pozycji bitowych: 1010₂ \ 1001₂. Teraz porównujemy kolejne bity: 1 XOR 1 = 0, 0 XOR 0 = 0, 1 XOR 0 = 1, 0 XOR 1 = 1. Otrzymujemy więc: 0011₂. W praktyce XOR jest mega ważny w informatyce i elektronice. W układach cyfrowych bramki XOR wykorzystuje się m.in. do budowy sumatorów, do obliczania bitów parzystości oraz w wielu algorytmach szyfrowania i kontroli błędów. W programowaniu operacje XOR na poziomie bitów stosuje się np. do prostych form maskowania danych, zamiany wartości bez użycia dodatkowej zmiennej, czy do porównywania flag w rejestrach. Moim zdaniem warto zapamiętać prostą regułkę: XOR daje 1, gdy bity są różne, i 0, gdy są takie same. Dla porządku: w standardowym zapisie logicznym często stosuje się tabelę prawdy, która jasno pokazuje, że XOR spełnia: 0⊕0=0, 0⊕1=1, 1⊕0=1, 1⊕1=0. To jest zgodne z podstawami algebry Boole’a, które są fundamentem całej logiki cyfrowej i projektowania sprzętu komputerowego. W technice to nie tylko teoria – to dokładnie to, co robią bramki logiczne w procesorze i innych układach scalonych.
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa funkcja logiczna XOR w systemie binarnym, a nie zgadywanie po „wyglądzie” liczby wynikowej. XOR (exclusive OR) to operacja, która na każdym bicie sprawdza, czy bity wejściowe są różne. Jeśli są różne – wynik to 1, jeśli takie same – wynik to 0. I to jest fundament, bez którego łatwo wpaść w kilka typowych pułapek. Jednym z częstych błędów jest traktowanie XOR jak zwykłe dodawanie binarne, tylko bez przeniesień. Wtedy ktoś patrzy na 1010 i 1001, widzi, że w dwóch pozycjach pojawiają się jedynki, i próbuje „dodać” je tak, by wyszło 0100 lub 1100. Problem w tym, że XOR w ogóle nie korzysta z mechanizmu przeniesienia, a jego wynik nie ma nic wspólnego z klasyczną sumą arytmetyczną. To jest operacja czysto logiczna, zgodna z algebrą Boole’a, nie z arytmetyką dziesiętną czy binarną. Inny błąd polega na patrzeniu tylko na jedną lub dwie pozycje bitowe i intuicyjnym „strzelaniu” rezultatu, na przykład 0010, bo komuś się wydaje, że różni się tylko jeden bit. Tymczasem trzeba przeanalizować każdy bit osobno: 1 z 1, 0 z 0, 1 z 0, 0 z 1. Gdy tego nie zrobimy systematycznie, łatwo pomylić liczbę jedynek w wyniku. Z mojego doświadczenia wynika, że wiele osób miesza XOR z operacją OR lub z dodawaniem modulo 2. Niby matematycznie XOR i dodawanie modulo 2 na pojedynczym bicie są równoważne, ale w praktyce w zadaniach testowych uczniowie ignorują definicję i zamiast tego próbują „skrótem myślowym” dojść do wyniku. Dobre praktyki branżowe i nauczanie podstaw informatyki mówią jasno: przy operacjach bitowych zawsze zapisujemy liczby jedna pod drugą, wyrównujemy do tych samych pozycji i analizujemy każdy bit według tabeli prawdy. Jeśli się tego trzymasz, to odpowiedzi typu 0100₂, 1100₂ czy 0010₂ po prostu nie przejdą w weryfikacji, bo nie spełniają reguły: 1 tam, gdzie bity są różne, 0 tam, gdzie są takie same. W logice cyfrowej nie ma miejsca na „wydaje mi się” – wynik musi wynikać z definicji operatora XOR.