0

我有两个十六进制数字说“X”和“Z”。我从用户那里得到一个十六进制输入说'Y'。现在我需要验证值“Y”是否介于“X”和“Z”之间。
这三个数字都是十六进制的。除了将“X”的值增加到“Z”之外,还有什么简单的逻辑可以实现这一点吗?
还请建议我如何在 JAVA 中实现这一点。

4

3 回答 3

2

十六进制值是整数- 仅以十六进制而不是十进制表示。
你不能这样做吗?

int upperHex = 0xf7c0;
int lowerHex = 0x040;

int inputHex = 0x050;

if(inputHex <= upperHex && inputHex >= lowerHex)
//Inside the range
于 2013-05-27T08:22:22.603 回答
1
final String X = "00";
final String Z = "ff";
final String Y = "10";

if(Integer.parseInt(X, 16) <= Integer.parseInt(Y, 16) && Integer.parseInt(Y, 16) <= Integer.parseInt(Z, 16)) {
    System.out.println("X <= Y <= Z");
} 
于 2013-05-27T08:22:24.590 回答
0

数字只是数字,十六进制是该数字的表示(使用文字或字符串)。您可以: 将十六进制字符串转换为整数,然后使用普通比较 ( <= < ...) 检查输入是否介于两者之间。

于 2013-05-27T08:22:08.987 回答