Binary 110 -> Decimal 6
1*(2^2) + 1*(2^1) + 0*(2^0)
实在不行的话,你可以按照上面的计算方法自己封装一个方法.
做了一个例子:
public class Test {
public static void main(String[] args) {
System.out.println("i="+binaryToDecimal("110"));
System.out.println("i="+binaryToDecimal("111"));
System.out.println("i="+binaryToDecimal("1111"));
} public static int binaryToDecimal(String value) {
int result = 0;
int length = value.length();
for ( int i=0; i<length; i++ ) {
int b = Integer.parseInt(value.substring(i,i+1));
result += b * (int)Math.pow(2, length-i-1);
}
return result;
}
}
没有做异常处理.这种方法可以实现没有问题,不记着还有没有更好的方法.
我记着有现成的软件包已经完成了此功能,上网找吧.
1*(2^2) + 1*(2^1) + 0*(2^0)
实在不行的话,你可以按照上面的计算方法自己封装一个方法.
做了一个例子:
public class Test {
public static void main(String[] args) {
System.out.println("i="+binaryToDecimal("110"));
System.out.println("i="+binaryToDecimal("111"));
System.out.println("i="+binaryToDecimal("1111"));
} public static int binaryToDecimal(String value) {
int result = 0;
int length = value.length();
for ( int i=0; i<length; i++ ) {
int b = Integer.parseInt(value.substring(i,i+1));
result += b * (int)Math.pow(2, length-i-1);
}
return result;
}
}
没有做异常处理.这种方法可以实现没有问题,不记着还有没有更好的方法.
我记着有现成的软件包已经完成了此功能,上网找吧.
public static int parseInt(String s,
int radix)
throws NumberFormatException
不好意思,楼主的问题还是照这个做吧.
String str="110";
int i=Integer.parseInt(str,10);//10代表10进制
是
String str="110";
int i=Integer.parseInt(str,10).intValue();//10代表10进制