Win a copy of The Java Performance Companion this week in the Performance forum!

# converting hexa decimal into int

sanla palati
Ranch Hand
Posts: 36
Hi ,

How to convert the hexadecimal value 0xbeef into int.

Ranch Hand
Posts: 170
Are you looking for manual integer conversion or methods of wrapper classes?

Kelvin Chenhao Lim
Ranch Hand
Posts: 513
Integer.decode() should do the trick, though I believe this is outside the scope of the SCJP exam.

Burkhard Hassel
Ranch Hand
Posts: 1274
Howdy!

0xbeef is already an int, an int literal to be precise. Only it is not written in decimals but in hexadecimals.

int i = 0xbeef;
System.out.println(i);

prints out the value in decimals.

Yours,
Bu.

sanla palati
Ranch Hand
Posts: 36
Thanks for your replys guys.But Burkhard, how can i know that 0xbeef is an interger. I am confused.

Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15359
39
Hexadecimal is not a separate data type. It is just a way to write numbers - in the base-16 numeric system instead of base-10 (decimal). When an integer literal in Java code starts with "0x", then it's in hexadecimal.

In addition to hexadecimal, you can write numbers in octal (the base-8 number system). A number is interpreted as octal if it starts with "0".

Burkhard Hassel
Ranch Hand
Posts: 1274

how can i know that 0xbeef is an interger

You're right, at a first glance 0xbeef looks more like something to eat than like an integer for many people.
Similarly, 0xCAFE looks more like something to drink than like the number 51966.

But you have to know about the other two ways of writing an integer.
Perhaps try this as a primer:

I'm terribly sorry that this output ends in a thirteen.
But hopefully you are not supersticious.
Ah, no, it doesn't end in a thirteen but in a nineteen!!!
Phew!

Yours,
Bu.