我有两个十六进制数字说'X'和'Z'。我从用户说'Y'得到十六进制输入。现在我需要验证值'Y'是否位于'X'和'Z'之间。
所有这三个数字都是十六进制的。除了将'X'的值递增到'Z'之外,还有任何简单的逻辑可以实现吗?
另外请告诉我如何在JAVA中实现这一目标。
答案 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)
数字只是数字,十六进制是该数字的表示(使用文字或字符串)。
您可以:将十六进制字符串转换为整数,然后使用普通比较(<= < ...
)检查输入是否介于两者之间。