File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Shift operator conversions Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Shift operator conversions" Watch "Shift operator conversions" New topic

Shift operator conversions

amarkirt saroay
Ranch Hand

Joined: Mar 16, 2008
Posts: 167
I feel lost when i have to convert a number into a byte representaion from an int.Like if int i=168 then how to convert it into -88 in 8 bits?

Another issue is if a byte =<some number exceeding 127> how to know what will be its equivalent form in byte representaion,
say eg. System.out.println((byte)128);
and System.out.println((byte)-128);

Is there any quick tip for such conversions please....

ioanis siafu

Joined: Feb 06, 2008
Posts: 6
168 has the 10101000 representation in binary. I think that the first byte(1) means it is a negative number. Then the bits of the number left (0101000) will be inversed. 0101000 -> 1010111. 1010111 is 88 in binary. The same happens with 128. 128 is represented 10000000 in binary. Fallowing this rule from 10000000 (- minus because the first digit is one)and inversing the rest of the number we obtain 1111111(127 in decimal). I don't know if this rule remains for large numbers.
ioanis siafu

Joined: Feb 06, 2008
Posts: 6
I was wrong in my explications. The modulus of the two numbers added is 256.
Nikhil Raj

Joined: Mar 20, 2008
Posts: 16
168 is represented as 10101000 in binary.The most significant bit is the sign bit which means that 10101000 is actually a negative number and not 168.To get the negative number, first take the one's complement of 10101000,
ie 01010111. now add 1 to this which gives 01011000 which is 88.
So the number represented by 10101000 is actually -88.
Nikhil Raj

Joined: Mar 20, 2008
Posts: 16
for larger numbers only their least significant 8 bits are taken..
the rest are discarded.
Ben Souther

Joined: Dec 11, 2004
Posts: 13410

"Nikhil Raj R S",
Please check your private messages regarding an important administrative matter.

Java API J2EE API Servlet Spec JSP Spec How to ask a question... Simple Servlet Examples jsonf
I agree. Here's the link:
subject: Shift operator conversions
It's not a secret anymore!