谁可以帮助我,我有以下缺点, 在这种情况下,进入一个负的十进制二进制输入-20(11000001101000000000000000000000)抛出我下面的错误:在线程转换32位二进制数转换为十进制
异常“主” java.lang.NumberFormatException:对于输入字符串: “11000001101000000000000000000000”
# Include <stdio.h>
# include <stdlib.h>
public static void main(String[] args) {
int bits = Integer.parseInt("1000001101000000000000… 2);
float f1 = Float.intBitsToFloat(bits);
int Sign = ((bits >> 31) == 0) ? 1 : -1;
int Exponent = ((bits >> 23) & 0xff);
int Mantissa = (Exponent== 0)
? (bits & 0x7fffff) << 1
: (bits & 0x7fffff) | 0x800000;
System.out.println("Sign: " + Sign + " Exponent: " + Exponent + "Mantissa:" + Mantissa);
System.out.println(f1);
}
请用英文改写。 – 2013-03-03 03:04:45
+1。谢谢@David翻译 – qdii 2013-03-03 03:30:18