gpt4 book ai didi

java - Java中的十六进制解析

转载 作者:行者123 更新时间:2023-12-01 10:33:11 25 4
gpt4 key购买 nike

考虑到十六进制的 FFFFFFB2 十进制为 -78

为什么我的这个操作出错了?

Integer.parseInt("FFFFFFB2", 16)

错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "FFFFFFFFFFFFFFB2"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:495)
at tmp.Test.main(Test.java:11)

最佳答案

taking in account that FFFFFFFFFFFFFFB2 in HEX is -78 in decimal"

不,FFFFFFFFFFFFFFFB2 十六进制是 18446744073709552000 十进制。您将十六进制误认为是 2 的补码。

如果您想采用 2 补码位模式并将其转换为数字,this answer建议一个技巧:

long l = new BigInteger("FFFFFFFFFFFFFFB2",16).longValue();

And it actually works .

注意,我使用了 BigIntegerlong,而不是 longint,因为数字太大.

关于java - Java中的十六进制解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34964526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com