如图所示,我在十六进制范围内有最小值和最大值,我喜欢搜索/检查这个十六进制数 0D08 是否属于下面的十六进制范围。提前致谢。
安德鲁 我应该在数组中做吗?{"0000","0001",......"03FF"},但是太多了。
0000H - 03FFH
只需进行正常比较:-
x=0xd08;
min = 0x0; // decimal 0
max = 0x3ff; // decimal 1023
if ( x>=min && x <= max){
//Do Stuff
}
最好的方法是首先将其转换hex
为int
然后进行比较。
只需使用比较运算符。您会发现知道十六进制数可以使用符号 直接在 C++ 中表示很有用0xHHHH
,其中H
范围自然是 from0
到F
。
bool check_range(int x)
{
return x > 0x0000 && x < 0x03FF;
}
if(check_range(0x0D08))
//do stuff