Java Converting Between Binary, Octal, Decimal,
and Hexadecimal
Problem
You want to display an integer as a series of bits—for example, when interacting
with certain hardware devices. You want to convert a binary number or a hexadecimal value into an integer.
Solution
The class java.lang.Integer provides the solutions. Use toBinaryString( ) to con-
vert an integer to binary. Use valueOf( ) to convert a binary string to an integer:
// BinaryDigits.java String bin = "101010"; System.out.println(bin + " as an integer is " + Integer.valueOf(bin, 2)); int i = 42; System.out.println(i + " as binary digits (bits) is " + Integer.toBinaryString(i));
This program prints the binary as an integer, and an integer as binary:
$ java BinaryDigits 101010 as an integer is 42 42 as binary digits (bits) is 101010 $
Explained
Integer.valueOf( ) is more general than binary formatting. It also converts a string number from any radix to int , just by changing the second argument. Octal is base 8, decimal is 10, hexadecimal 16. Going the other way, the Integer class includes toBinaryString( ) , toOctalString( ) , and toHexString( ) . The String class itself includes a series of static methods, valueOf(int) , valueOf(double) , and so on, that also provide default formatting. That is, they return the given numeric value formatted as a string.
No comments:
Post a Comment