Kód: Vybrat vše
package cz.cuni.mff.java.example01;
public class Swap {
public static void main(String[] argv) {
int x = 10;
int y = 20;
x ^= y ^= x ^= y;
System.out.println(x);
System.out.println(y);
}
}
Kód: Vybrat vše
x ^= (y ^= (x ^= y));
a tedy
x = x ^ (y = y ^ (x = x ^ y));
Ale nedokazu si to spocitat z hlavy
Zapiseme cisla binarne:
10 = 01010 = x
20 = 10100 = y
30 = 11110
a ted vyhodnocuju (predpokladam spravne, ze hodnota prirazeni se rovna hodnote vyrazu, ktery se priradil, ne?)
Kód: Vybrat vše
x = x ^ y = 01010 ^ 10100 = 11110
y = y ^ (x = x ^ y) = y ^ 11110 = 10100 ^ 11110 = 01010
x = x ^ (y = y ^ (x = x ^ y)) = x ^ 01010 = 11110 ^ 01010 = 10100
Najde mi tam pls nekdo chybu? Vazne uz nevim, jak jinak do toho... Diky moc