Witam,
Czy może mi ktoś wyjaśnić dlaczego:
byte a =7
byte b = -15
byte c = a^b
c jest równe -10 ? a nie -8
[0, 0, 0, 0, 0, 1, 1, 1]
[1, 0, 0, 0, 1, 1, 1, 1]
[1, 0, 0, 0, 1, 0, 1, 0]
Z tego co wyczytałem to podobno zwraca int'a...
Witam,
Czy może mi ktoś wyjaśnić dlaczego:
byte a =7
byte b = -15
byte c = a^b
c jest równe -10 ? a nie -8
[0, 0, 0, 0, 0, 1, 1, 1]
[1, 0, 0, 0, 1, 1, 1, 1]
[1, 0, 0, 0, 1, 0, 1, 0]
Z tego co wyczytałem to podobno zwraca int'a...
System.out.println((a^b).getClass().getName())
daje:
java.lang.Integer
*sorry że nie dopisuje, ale chyba najwyższy czas założyć konto:)
Pomimo tego że zwraca int to nie znaczy że mam sam implementować operacje typu XOR, AND, itp na byte...
Zapewne nie jest to za trudne, ale niesmak pozostał... chyba że o czymś nie wiem? Z góry dzięki!
byte a = 7;
byte b = -15;
byte c = (byte) (a^b);
System.out.println((byte) (c^a));
System.out.println((byte) (c^b));
w takim razie jak jest zapisywany byte?