两个十六进制数之间的数字 - Java

时间:2013-05-27 08:14:45

标签: java math hex

我有两个十六进制数字说'X'和'Z'。我从用户说'Y'得到十六进制输入。现在我需要验证值'Y'是否位于'X'和'Z'之间。
所有这三个数字都是十六进制的。除了将'X'的值递增到'Z'之外,还有任何简单的逻辑可以实现吗? 另外请告诉我如何在JAVA中实现这一目标。

3 个答案:

答案 0 :(得分:1)

十六进制值为整数 - 只有以十六进制表示而非十进制。
你不能这样做吗?

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

int inputHex = 0x050;

if(inputHex <= upperHex && inputHex >= lowerHex)
//Inside the range

答案 1 :(得分: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");
} 

答案 2 :(得分:0)

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