RezaMedlem sedan feb. 2001107 inlägg En byte (den primitiva typen) är ju signed.
Så detta: 1000 0001 borde ge –1.
Men nej, det fungerar inte när jag skriver följande:
byte b = 0x81;
För att detta ska fungera måste jag casta, och då får jag –127??
Hur tilldelar jag en byte –1 hexdecimalt?
RezaMedlem sedan feb. 2001107 inlägg Jo det fungerar, men varför blir 1111 1111 -1?????????
I java så räknas en byte som -128 till 127. Dvs när du skriver in 10000001 (129) så är ju det mer än 127, eller hur? Det fungerar ungefär som modulus, dvs efter att talet kommer upp i en viss storlek så börjar det om från början igen och räknar ut "resten".
127 motsvarar 127
128 motsvarar -128
129 motsvarar -127
och slutligen:
255 (11111111, 0xff) motsvarar -1
Blev det något klarare kanske?