求java编程 二进制十进制互相转化

求求求。

java中有现在的api

10进制转二进制

Integer.toBinaryString(int i);


二进制转十进制

Integer.parseInt("1001",2);



建议多看看JDK文档,这里文档里都有介绍的


温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-12
下面是十进制转换成二进制和二进制转换成十进制 根据你自己的需求选择
//10进制->2进制
String a = "-1195";//输入数值
BigInteger src = new BigInteger(a);//转换为BigInteger类型
System.out.println(src.toString(2));//转换为2进制并输出结果

//2进制->10进制
String a = "10010101011";//输入数值
BigInteger src = new BigInteger(a, 2);//转换为BigInteger类型
System.out.println(src.toString());//转换为2进制并输出结果

注意下面两个要点:
1. BigInteger的构造函数
BigInteger(String src)默认参数字符串为10进制数值
BigInteger(String src, int x)第2个参数x是指定第一个参数src的进制类型

2. toString方法
toString()默认把数值按10进制数值转化为字符串。
toString(int x)把数值按参数x的进制转化为字符串。
第2个回答  2015-06-12
//二进制转十进制数字
public static int binaryToDec(String binaryValue){
int dec = 0;
for(int i=0; i<binaryValue.length(); i++){
dec = dec * 2 + (binaryValue.charAt(i) - '0');
}
return dec;
}

//十进制转二进制字符串
public static String decToBinary(int decValue){
StringBuilder binaryValue = new StringBuilder();
do{
int temp = decValue % 2;
binaryValue.append((char)(temp + '0'));
decValue /= 2;
}while(decValue != 0);
return binaryValue.reverse().toString();
}

第3个回答  2015-06-12
public static void main(String args[]){
String s = "101011110001";
int x = 0;
for(char c: s.toCharArray())
x = x * 2 + (c == '1' ? 1 : 0);
System.out.println(x);
}
String a="010";
int d = Integer.parseInt(a, 2); // 2进制
int o = Integer.parseInt(a, 8); // 8进制
System.out.println(d);
System.out.println(o);