• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JVM going nuts? or is it me?

 
Brett Swift
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
65 in Hex:
(6 * 16^1)+5 = 101
65 in Octal:
(6 * 8^1)+5 = 53
HOWEVER:
System.out.println(Integer.toHexString(65)+" Hex");
System.out.println(Integer.toOctalString(65)+" Oct");
prints:
41 Hex
101 Oct
where I thought it would print out:
101 Hex
53 Oct
First: How does the expected 101 get to the Octal value, and where did 41 come from?
Did someone slip me some LSD? Have I been working too hard? Or is my JVM playing a practical joke on me?
Thanks!
 
Jamal Hasanov
Ranch Hand
Posts: 411
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You had to devide to 16 and 8, not to multiply
65/16 = 4*16+1 = (HEX)41
(DEC)65 = (HEX)41
65/8 = 8+1 = (OCT)101 (Because 8 is 10 in octal).
(DEC)65 = (OCT)101
That's all
Jamal Hasanov
www.j-think.com
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic