| Author |
casting from int to byte
|
Mathew Lee
Ranch Hand
Joined: Jun 08, 2009
Posts: 238
|
|
I was reading following lines from link
http://www.jchq.net/certkey/0501certkey.htm
did not understand it clearly.
>>>if you really want enough rope, Java uses the C/C++ convention of enclosing the data type with parenthesis i.e. (), thus the following code will compile and run
public class Mc{
public static void main(String argv[]){
byte b=0;
int i = 5000;
b = (byte) i;
System.out.println(b);
}
}
The output is
-120
I did bnot understand why output is -120 when i has 5000 value.
Any ideas, resources,sample code,links, highly appreciated. thanks in advance.
|
 |
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 32675
|
|
|
Write down the binary string value of 5000, as in your other thread, strike out all but the rightmost 8 bits, and work out what that means in two's complement, with values of -128 (+)64 32 16 8 4 2 and 1 for the different bits going from left to right.
|
 |
 |
|
|
subject: casting from int to byte
|
|
|