Skip to main content
added 621 characters in body
Source Link
Kanagavelu Sugumar
  • 19.4k
  • 21
  • 100
  • 106

Diff between (int)(char)(byte) -1 AND (int)(short)(byte) -1

(byte)-1 -> 0-000 0001 (2's Comp) -> 0-111 1111 (add sign) -> 1-111 1111 (char)(byte)-1 -> 1-111 1111 1111 1111 (sign bit is carry forwarded on left) 

similarly

(short)(byte)-1-> 1-111 1111 1111 1111 (sign bit is carry forwarded on left) 

But

(int)(char)(byte)-1 -> 0-0000000 00000000 11111111 11111111 = 65535 since char is unsigned; MSB won't be carry forwarded. 

AND

(int)(Short)(byte)-1 -> 1-1111111 11111111 11111111 11111111 = -1 since short is signed; MSB is be carry forwarded. 

References

References

Diff between (int)(char)(byte) -1 AND (int)(short)(byte) -1

(byte)-1 -> 0-000 0001 (2's Comp) -> 0-111 1111 (add sign) -> 1-111 1111 (char)(byte)-1 -> 1-111 1111 1111 1111 (sign bit is carry forwarded on left) 

similarly

(short)(byte)-1-> 1-111 1111 1111 1111 (sign bit is carry forwarded on left) 

But

(int)(char)(byte)-1 -> 0-0000000 00000000 11111111 11111111 = 65535 since char is unsigned; MSB won't be carry forwarded. 

AND

(int)(Short)(byte)-1 -> 1-1111111 11111111 11111111 11111111 = -1 since short is signed; MSB is be carry forwarded. 

References

added 174 characters in body
Source Link
Kanagavelu Sugumar
  • 19.4k
  • 21
  • 100
  • 106
Source Link
Kanagavelu Sugumar
  • 19.4k
  • 21
  • 100
  • 106
Loading