67,513
社区成员
发帖
与我相关
我的任务
分享
String A=binaryString2hexString("00000100000000000010000000001000");---04002008
String B=binaryString2hexString("10000100000000000010000000001000");----84002008
int nMask =Integer.parseInt(A,16);---正常; 67117064
int nMask2 =Integer.parseInt(B,16);---提示异常,错误信息如下
--严重: Servlet.service() for servlet OemToolServlet threw exception
---java.lang.NumberFormatException: For input string: "84002008"
-- at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
-- at java.lang.Integer.parseInt(Integer.java:461)
-- at oem.tool.OemToolServlet.doGet(OemToolServlet.java:37)
-- at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
-- at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
public static String binaryString2hexString(String bString)
{
if (bString == null || bString.equals("") || bString.length() % 8 != 0)
return null;
StringBuffer tmp = new StringBuffer();
int iTmp = 0;
for (int i = 0; i < bString.length(); i += 4)
{
iTmp = 0;
for (int j = 0; j < 4; j++)
{
iTmp += Integer.parseInt(bString.substring(i + j, i + j + 1)) << (4 - j - 1);
}
tmp.append(Integer.toHexString(iTmp));
}
return tmp.toString();
}