2015-07-20 208 views

回答

0

请检查下面2方法。它可能对你有用。

我们可以做到这一点的字符串

String binary = "11010010011101010011"; 
int decimal = Integer.parseInt(binary,2); 
System.out.println("Decimal==>" + decimal); 

赋予二进制值,否则我们可以使用包装类将其转换

Integer decimalInt=Integer.valueOf("11010010011101010011",2); 
System.out.println("Decimal==>" + decimalInt.toString()); 
0
long n = Long.parseLong("11010010011101010011", 2); 

应该工作。因为这些是32位,并且实际上负int的表示不使用parseInt左右。

还要确保没有垃圾。 UTF-8文本文件可能以BOM char,零宽度空间开始,不可见。删除BOM可以这样完成:

s = s.replace("\uFEFF", ""); 
0

P.S.我的英语不好,但我会试着解释一下。

  1. 首先,您必须反转字符串。
  2. 然后,从一开始到结束,获取元素并乘以2^place

下面是代码:

public static void convertToDecimal(String binaryNumber) 
{ 
    String reverse = new StringBuffer(binaryNumber).reverse().toString(); 
    long decimal=0; 
    for(int i=0;i<reverse.length();i++){ 
    char c = reverse.charAt(i); 
    int k=c-'0'; 
    decimal=decimal+k*(long)Math.pow(2, i); 
    } 
    System.out.println(decimal); 
} 
相关问题