2013-05-27 3 views
-1

У меня есть два шестнадцатеричных числа: «X» и «Z». Я получаю шестнадцатеричный ввод от пользователя «Y». Теперь мне нужно проверить, находится ли значение «Y» между «X» и «Z».
Все три цифры указаны в шестнадцатеричном виде. есть ли какая-то простая логика для достижения этой цели, кроме приращения значений «X» до «Z»?
Также, пожалуйста, предложите мне, как мы можем достичь этого в JAVA.Число между двумя шестнадцатеричными числами - Java

+3

"гекс" просто представление. Это не изменяет порядок обработки чисел. Вы все равно можете использовать те же операторы сравнения, которые вы узнали. –

+1

У вас есть номера или строки? – BobTheBuilder

ответ

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"); 
} 
0

Номера - это просто цифры, hex - это . этого номера (с использованием литерала или строки). Вы можете: Преобразовать шестнадцатеричные строки в целые числа, а затем использовать обычное сравнение (<= < ...), чтобы проверить, находится ли вход между ними.

1

шестнадцатеричные значения целые - просто , представленные в шестнадцатеричном вместо десятичной.
Разве вы не можете это сделать?

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

int inputHex = 0x050; 

if(inputHex <= upperHex && inputHex >= lowerHex) 
//Inside the range 
Смежные вопросы