When I execute this block of within the main(), it is not printing anything. Please let me know the reason for it.
I thought it will narrow the value and print from 1 to 127.
Thanks
Tony Morris
Ranch Hand
Joined: Sep 24, 2003
Posts: 1608
posted
0
The loop never enters because the condition 0 < (byte)255 is not met. Try this: System.out.println((byte)255); and you will see that it is always less than zero (the initial value).
255 is outside the range of byte. The int representation of 255 is:
11111111
When cast to a byte you end up with -1 so your loop is
amit taneja
Ranch Hand
Joined: Mar 14, 2003
Posts: 806
posted
0
just wanted to know
how can we know that 11111111 is equlant to -1 ..how do u calculate..?
and will bv<125 give error ? i think now because..it retuns boolen value... and comparsion b/w byte and int is ablsolutely fine ...i m right ?
Thanks and Regards,<br />Amit Taneja
Philip Heller
author
Ranch Hand
Joined: Oct 24, 2000
Posts: 119
posted
0
Amit wrote:
"how can we know that 11111111 is equlant to -1 ..how do u calculate..?"
For bytes, shorts, ints, and longs, negative numbers are represented using 2's-complement notation. To take the negative of a number, invert all the bits and then add 1. (Don't worry if there's overflow.) So to take the negative of 1, start with
00000001
Then invert all bits:
11111110
And add 1:
11111111
Note that if you invert all these bits and add 1, you've taken the negative of -1, and you're back at +1. There's an animated illustration that lets you play with this mechanism in Chapter 2 of "Ground-Up Java".
And you're right that bv<125 is ok.
Consultant to SCJP team.<br />Co-designer of SCJD exam.<br />Co-author of "Complete Java 2 Certification Study Guide".<br />Author of "Ground-Up Java".
amit taneja
Ranch Hand
Joined: Mar 14, 2003
Posts: 806
posted
0
so u have written the book java groundup.. and thats y naming it... any way... thanx and goodluck for ur book
is there is some pdf version available or any part of it u give for publicity ...so we can atleast get some info about book and to review the book regards, [ June 05, 2005: Message edited by: amit taneja ]
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.