It's not a secret anymore!
The moose likes Beginning Java and the fly likes casting from int to byte Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "casting from int to byte" Watch "casting from int to byte" New topic

casting from int to byte

Mathew Lee
Ranch Hand

Joined: Jun 08, 2009
Posts: 238
I was reading following lines from link

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;
The output is


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

Joined: Oct 13, 2005
Posts: 46437
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.
I agree. Here's the link:
subject: casting from int to byte
It's not a secret anymore!