Java - 十六进制字符串表示为整数十六进制



我有一个字符串作为"5F2A"作为十六进制。我想将其转换为 int 0x5F2A。

String str = "5F2A";
int number = someOperation(str);

数字应该是(带 0x(

0x5F2A

可能吗?

改写并分享我今天学到的东西

Map<Integer, String> map = new HashMap<>();
map.put(0x5F2A, "somevalue");
System.out.println(map.get(24362));
System.out.println(map.get(0b0101111100101010));

将为两者提供somevalue值。

无需转换:

System.out.println("0x" + str);

并将任意 int 转换为十六进制表示:

Integer.toHexString(intNumber);

这应该是你开始所需要的一切!

int i = 0x5F2A实际上并不意味着什么,因为在内存中,一切都是二进制的,只有当你打印时,它才重要

String str = "5F2A";
int number = Integer.parseInt(str, 16); //alows to store an int, binary 0101111100101010
System.out.println(number);                      //24362 (decimal by default)
System.out.println(Integer.toHexString(number)); //5f2a  (hexa possible too)

默认情况下,它以(二进制到(十进制格式打印,但您可以以十六进制格式打印,但int i = 0x5F2A表示100%int i = 24362

相同

看这里

Integer.parseInt(/*your String*/, 16);

16 是十六进制的基数。

最新更新