I noticed jane's link didn't work so I give you just the quick basics:
octal is a base eight conversion and hex is base 16 and binary is base 2.
so for binary
32 16 8 4 2 1
-------------------
0 1 1 0 1 0 is 36 in decimal.
so for octal
8^6 8^5 8^4 8^3 8^2 8 1
-------------------------------
Octal of 3 1
--------------------------------
24 + 1 = 25 Decimal
so for hex
16^4 16^3 16^2 16 1
----------------------------------
Hex of F F
---------------------------------
(16*15) + (1*15) = 255 decimal
Java uses two's compliment to produce a negative number, this is done by taking the positive representation of the value in binary and then bitwise them(Reverse them) and then add one to the value. This will give you the negative value.
Hope this helps out....