10

你能在Java中增加一个十六进制值吗?即“十六进制值”=“十六进制值”++

4

5 回答 5

17

这取决于如何存储十六进制值。如果您在字符串中有十六进制值,请将其转换为整数,递增并将其转换回。

int value = Integer.parseInt(hex, 16);
value++;
String incHex = Integer.toHexString(value);
于 2009-02-05T16:19:03.517 回答
11

简短的回答:是的。它是

myHexValue++;

更长的答案:您的“十六进制值”可能存储为整数。将其转换为十六进制(而不是通常的十进制)字符串的业务是通过

Integer.toHexString( myHexValue )

并从一个十六进制字符串

Integer.parseInt( someHexString, 16 );

M。

于 2009-02-05T16:20:12.923 回答
10

“十六进制值”是什么意思?您的值存储在什么数据类型中?

请注意, int/short/char/... 不关心您的值最初是如何表示的:

int i1 = 0x10;
int i2 = 16;

i1并且i2将具有完全相同的内容。Java(以及大多数其他语言)不关心常量/值的表示法。

于 2009-02-05T16:16:44.893 回答
5

是的。无论如何,所有整数都是二进制的,所以你如何声明它们并不重要。

int hex = 0xff;
hex++;  // hex is now 0x100, or 256
int hex2 = 255;
hex2++; // hex2 is now 256, or 0x100
于 2009-02-05T16:17:19.340 回答
0

数字的基数纯粹是 UI 问题。在内部,整数存储为二进制。只有当您将其转换为人类表示时,您才会选择数字基数。所以你的问题真的归结为“如何增加一个整数?”。

于 2009-02-05T19:50:06.820 回答