Java中二進制,十進制,十六進制裝換java
十進制轉成十六進制: 算法
Integer.toHexString(int i) spa
十進制轉成八進制 code
Integer.toOctalString(int i) orm
十進制轉成二進制 字符串
Integer.toBinaryString(int i) input
十六進制轉成十進制 it
Integer.valueOf("FFFF",16).toString() io
八進制轉成十進制 form
Integer.valueOf("876",8).toString()
二進制轉十進制
Integer.valueOf("0101",2).toString()
有什麼方法能夠直接將2,8,16進制直接轉換爲10進制的嗎?
java.lang.Integer類
parseInt(String s, int radix)
使用第二個參數指定的基數,將字符串參數解析爲有符號的整數。
examples from jdk:
parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("-0", 10) returns 0
parseInt("-FF", 16) returns -255
parseInt("1100110", 2) returns 102
parseInt("2147483647", 10) returns 2147483647
parseInt("-2147483648", 10) returns -2147483648
parseInt("2147483648", 10) throws a NumberFormatException
parseInt("99",throws a NumberFormatException
parseInt("Kona", 10) throws a NumberFormatException
parseInt("Kona", 27) returns 411787
進制轉換如何寫(二,八,十六)不用算法
Integer.toBinaryString
Integer.toOctalString
Integer.toHexString
例二
public class Test{
public static void main(String args[]){
int i=100;
String binStr=Integer.toBinaryString(i);
String otcStr=Integer.toOctalString(i);
String hexStr=Integer.toHexString(i);
System.out.println(binStr);
}
例二
public class TestStringFormat {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("usage: java TestStringFormat <a number>");
System.exit(0);
}
Integer factor = Integer.valueOf(args[0]);
String s;
s = String.format("%d", factor);
System.out.println(s);
s = String.format("%x", factor);
System.out.println(s);
s = String.format("%o", factor);
System.out.println(s);
}
}
其餘方法:
Integer.toHexString(你的10進制數);
例如
String temp = Integer.toHexString(75);
輸出temp就爲 4b
//輸入一個10進制數字並把它轉換成16進制
import java.io.*;
public class toHex{
public static void main(String[]args){
int input;//存放輸入數據
//建立輸入字符串的實例
BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("請輸入一個的整數:");
String x=null;
try{
x=strin.readLine();
}catch(IOException ex){
ex.printStackTrace();
}
input=Integer.parseInt(x);
System.out.println ("你輸入的數字是:"+input);//輸出從鍵盤接收到的數字
System.out.println ("它的16進制是:"+Integer.toHexString(input));//用toHexString把10進制轉換成16進制
}
}