[英]Hex to binary conversion java
我有以下代码
temp = "0x00"
String binAddr = Integer.toBinaryString(Integer.parseInt(temp, 16));
为什么会出现以下错误:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "0x00"
由于字符串包含0x
,请使用Integer.decode(String nm) :
String binAddr = Integer.toBinaryString(Integer.decode(temp));
因为前导0x
不是有效的16进制数字的一部分-只是一个惯例,向读者表明一个数字以十六进制表示。
从javadocs摆脱“ 0x”:
字符串中的所有字符都必须是指定基数的数字(由Character.digit(char,int)是否返回非负值来确定),除了第一个字符可以是ASCII减号'-'('\\ u002D ')表示负值,或ASCII加号'+'('\\ u002B')表示正值。 返回结果整数值。
0x
用于整数文字 ,例如:
int num = 0xCAFEBABE;
但不是可解析的格式。 尝试这个:
temp = "ABFAB"; // without the "0x"
String binAddr = Integer.toBinaryString(Integer.parseInt(temp, 16));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.