【发布时间】:2010-10-05 17:17:12
【问题描述】:
你能在 Java 中增加一个十六进制值吗?即“十六进制值”=“十六进制值”++
【问题讨论】:
-
一个值就是一个值,为什么在这种情况下表示(二进制/八进制/十六进制/等)很重要?
-
在问之前你应该自己尝试一下……这样很容易测试和自己学习。
你能在 Java 中增加一个十六进制值吗?即“十六进制值”=“十六进制值”++
【问题讨论】:
这取决于十六进制值的存储方式。如果你有一个字符串中的十六进制值,将其转换为整数,递增并转换回来。
int value = Integer.parseInt(hex, 16);
value++;
String incHex = Integer.toHexString(value);
【讨论】:
简答:是的。这是
myHexValue++;
更长的答案:您的“十六进制值”可能存储为整数。将其转换为十六进制(而不是通常的十进制)字符串的业务是使用
Integer.toHexString( myHexValue )
从一个带有
的十六进制字符串Integer.parseInt( someHexString, 16 );
M.
【讨论】:
“十六进制值”是什么意思?您的值存储在什么数据类型中?
注意 int/short/char/... 并不关心你的值最初是如何表示的:
int i1 = 0x10;
int i2 = 16;
i1 和 i2 将具有完全相同的内容。 Java(以及大多数其他语言)并不关心常量/值的表示法。
【讨论】:
是的。无论如何,所有整数都是二进制的,所以你如何声明它们并不重要。
int hex = 0xff;
hex++; // hex is now 0x100, or 256
int hex2 = 255;
hex2++; // hex2 is now 256, or 0x100
【讨论】:
数字的基数纯粹是 UI 问题。在内部,整数存储为二进制。只有当您将其转换为人类表示时,您才会选择数字基数。所以你的问题真的归结为“如何增加一个整数?”。
【讨论】: