# Shift operator conversions

amarkirt saroay

Ranch Hand

Posts: 167

posted 8 years ago

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....

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....

SCJP-75%

SCWCD-82%

ioanis siafu

Greenhorn

Posts: 6

posted 8 years ago

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

Greenhorn

Posts: 6

Nikhil Raj

Greenhorn

Posts: 16

posted 8 years ago

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.

ie 01010111. now add 1 to this which gives 01011000 which is 88.

So the number represented by 10101000 is actually -88.

Nikhil Raj

Greenhorn

Posts: 16

posted 8 years ago

"Nikhil Raj R S",

Please check your private messages regarding an important administrative matter.

-Ben

Please check your private messages regarding an important administrative matter.

-Ben