我想将分数二进制数转换为十进制数。 11010010011101010011
如何将二进制转换为十进制与长整数?
对于这个我收到错误
Exception in thread "main" java.lang.NumberFormatException: For input string: "11010010011101010011"
我想将分数二进制数转换为十进制数。 11010010011101010011
如何将二进制转换为十进制与长整数?
对于这个我收到错误
Exception in thread "main" java.lang.NumberFormatException: For input string: "11010010011101010011"
请检查下面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());
long n = Long.parseLong("11010010011101010011", 2);
应该工作。因为这些是32位,并且实际上负int
的表示不使用parseInt左右。
还要确保没有垃圾。 UTF-8文本文件可能以BOM char,零宽度空间开始,不可见。删除BOM可以这样完成:
s = s.replace("\uFEFF", "");
P.S.我的英语不好,但我会试着解释一下。
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);
}
你能告诉我们你的代码? – Lynn