Jak się to oblicza ? :
-1613953586 ^ -1613953587 = 3
-1800010067 ^ -1800010068 = 1
fasadin napisał(a):
https://www.google.nl/search?q=operator+%5E+C%23&oq=operator+%5E+C%23&aqs=chrome..69i57.2952j0j1&sourceid=chrome&ie=UTF-8
https://msdn.microsoft.com/en-us/library/zkacc7k1.aspx
No tak ale w moich przykładach jest liczba int a nie liczba binarna czy logiczna. Na moje oko to powinno w dwóch przypadkach zwrócić 1 i 1 a nie 3 i 1
Jeszcze kilka przykładów mam i tam gdzie jest różnica ostatniej liczby 3 to zwraca 3 a w powyższym przykładzie różnica to 1
Dobra już chyba załapałem... Program najpierw przekształca liczbę na binarną a potem zwraca normalną z binarnej
No tak ale w moich przykładach jest liczba int a nie binarna>
Co masz w komputerze, dzieci liczące na palcach?
For integral types, ^ computes the bitwise exclusive-OR of its operands
"Liczba int" to pod spodem po prostu ciąg bitów i operacja "and" wykonywana jest na każdym z tych bitów.
255^256 = 511
Chociaż różnica między nimi to tylko 1.
-1613953586 ^ -1613953587 = 3
Jeżeli liczby traktować jako 32-bitowe w kodowaniu U2, to mamy
10011111110011010000010111001110
xor 10011111110011010000010111001101
------------------------------------
00000000000000000000000000000011
ale w moich przykładach jest liczba int a nie liczba binarna czy logiczna
Operator ^
działa na systemie binarnym.
dzięki za odpowiedzi.
Toż to samych geniuszy z iq > 200 zatrudniają pod przymusem w wojsku żeby zrobić coś takiego jak komputer to ludzkie pojęcie przechodzi :)