• 3 odgovora
  • 2.574 pregleda
Nejasnoca sa XOR operatorom u javi. 08.09.2015. u 00:58 · pre 135 meseci #1
Imam jedan mali problem, ovaj sasvim obican kod mi nema logike i ne dobijam izlaz koji sam ocekivao da cu dobiti.

byte b = -0b0101^-0b0100;
System.out.println("Outputs "+b); // Output je 7

Izlaz je 0b0111, a treba da bude 0b0001.
More li mi neko pomici ?
Re: Nejasnoca sa XOR operatorom u javi. 08.09.2015. u 07:42 · pre 135 meseci #2
Za predstavljanje negativnih brojeva u binarnom sistemu se koristi komplement dvojke, potraži po netu objašnjenje za Two's complement

U tvom slučaju, izraz je: byte b = -5 ^ -4;
-5 binarno je 11111011
-4 binarno je 11111100

Re: Nejasnoca sa XOR operatorom u javi. 08.09.2015. u 09:20 · pre 135 meseci #3
U Javi su svi tipovi označeni (signed) i najviši bitovi su dopunjeni znakom, što kod negativnih brojeva znači da su to jedinice na početku, kao što je hyle napisao u ovom primeru.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme