Saturday, December 7, 2013

Number System Conversions - Handy Coding Tricks

1. Decimal to Binary and other number systems

Integer.toBinaryString(int);
Integer.toOctalString(int);
Integer.toHexString(int);
Integer.toString(int number) // base 10
Integer.toString(int number, int radix)

Examples:
Integer.toBinaryString(15); // will return "1111"
Integer.toString(15, 2); // will return "1111"
Integer.toBinaryString(123); // will return "1111011"
Integer.toString(123, 2); // will return "1111011"
Integer.toOctalString(15); // will return "17"
Integer.toString(15, 8); // will return "17"
Integer.toOctalString(123); // will return "173"
Integer.toString(123, 8); // will return "173"
Integer.toString(15); // will return "15"
Integer.toString(15, 10); // will return "15"
Integer.toString(123); // will return "123"
Integer.toString(123, 10); // will return "123"
Integer.toHexString(15); // will return "f"
Integer.toHexString(15).toUpperCase(); // will return "F"
Integer.toHexString(123); // will return "7b"
Integer.toHexString(123).toUpperCase(); // will return "7B"
Integer.toString(15, 16); // will return "f"
Integer.toString(15, 16).toUpperCase(); // will return "F"
Integer.toString(123, 16); // will return "7b"
Integer.toString(123, 16).toUpperCase(); // will return "7B"

2. Binary to Decimal and other number systems

Integer.parseInt(String decimalstring); //base 10
Integer.parseInt(String decimalstring,int radix=10);
Integer.parseInt(String stringrepresentation,int radix);
Integer.parseInt(String binarystring,int radix=2); // Binary to Decimal
Integer.parseInt(Integer.toString(Integer.parseInt(binarystring,2),8)); //Binary to Octal
Integer.toString(Integer.parseInt(binarystring,2),16)); //Binary to Hexadecimal

Examples:
Integer.parseInt("15"); //will return 15
Integer.parseInt("12345"); //will return 12345
Integer.parseInt("1111",2); // will return 15
Integer.parseInt("1111011",2); // will return 123
Integer.parseInt("10101",2); // will return 21
Integer.parseInt("17",8); // will return 15
Integer.parseInt("173",8); // will return 123
Integer.parseInt("123",8); // will return 83
Integer.parseInt("CAFE",16); // will return 51966
Integer.parseInt("BABE",16); // will return 47806

3. Other manipulations - Octal to Hexadecimal and Hexadecimal to Octal

Integer.toString(Integer.parseInt("123",8),16); // will return 53
Integer.toString(Integer.parseInt("123",16),8); // will return 443

1 comment: