public class Main3 {
public static void main(String[] args) {
Integer min = Integer.MIN_VALUE;
String minHex = Integer.toHexString(Integer.MIN_VALUE);
System.out.println(min + " " + minHex);
System.out.println(Integer.parseInt(minHex, 16));
}
}
给
-2147483648 80000000
Exception in thread "main" java.lang.NumberFormatException: For input string: "80000000"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:459)
at Main3.main(Main3.java:7)
这是怎么回事?
据记录,Integer.toHexString
该字符串以无符号值形式返回整数的字符串表示形式-
同时使用Integer.parseInt
带符号的int值。如果Integer.toString(value, 16)
改用,您将得到想要的东西。
问题内容: 我正在尝试将一个数字从一个整数转换为另一个整数,如果以十六进制打印,它将看起来与原始整数相同。 例如: 将20转换为32(即0x20) 将54转换为84(即0x54) 问题答案: 即,将原始数字视为十六进制,然后将其转换为十进制。
我有十六进制字符串,例如“0x103E”,我想将其转换为整数。意思是to我尝试了但它给出了数字格式异常。我如何实现这一点?
问题内容: 我使用python 2.6 正值和负值相同吗? 当我使用calc时,值为。 问题答案: Python的整数可以任意增大。为了按您希望的方式计算原始二进制补码,您需要指定所需的位宽。您的示例以64位二进制补码显示,但也可能是32位或128位,因此开始时会产生不同数量的。 不这样做。我建议以下方法: 打印输出:
问题内容: 我写了一些代码将十六进制显示字符串转换为十进制整数。但是,当输入类似100a或625b(带有字母的东西)时,我得到了这样的错误: java.lang.NumberFormatException:对于输入字符串:java.lang.Integer.parseInt(未知源)处的java.lang.NumberFormatException.forInputString(未知源)处为“ 1
我正在写一个Rust程序,读取I2C总线并保存数据。当我读取I2C总线时,我会得到十六进制值,比如,,等等。 现在,我只能将其作为字符串处理并按原样保存。有没有办法把它解析成一个整数?它有内置的功能吗?
问题内容: 如上面的标题。我想从一个十六进制数字 我想转换为。 问题答案: