This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.

Hi guys, This must seem extremely silly and less than basic!!! But seriously how does an int get stored in a byte data type. How does the truncation happen? What info I have is that it divides the int(if > than 256) by 256 and stores the remainder in the byte. But what happens if I want to store a value 250? Would be very much obliged if anyone could help me. Thanks

Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher

Output is: i=250 b=-6 In two's complement notation used for an int, each column has a weighting of an increasing power of two, starting from the least significant bit. However, the most significant bit has a minus sign in front of its weighting. So for the least significant 8 bits the weightings are 128, 64, 32, 16, 8, 4, 2 and 1 (8 bits) And the representation of 250 puts 1's into these columns: 250 = 128 + 64 + 32 + 16 + 8 + 2 Now when you transfer these 8 bits into a 2's complement byte, the weightings are: -128, 64, 32, 16, 8, 4, 2 and 1 (8 bits) so the bit pattern for 250 in an int becomes -6 -6 = -128 + 64 + 32 + 16 + 8 + 2 Ed Hope that is not too complicated!

The nice thing about Standards is that there are so many to choose from!