1

如图所示,我在十六进制范围内有最小值和最大值,我喜欢搜索/检查这个十六进制数 0D08 是否属于下面的十六进制范围。提前致谢。

安德鲁 我应该在数组中做吗?{"0000","0001",......"03FF"},但是太多了。

0000H - 03FFH
4

3 回答 3

2

只需进行正常比较:-

x=0xd08;

min = 0x0;   // decimal 0
max = 0x3ff; // decimal 1023

if ( x>=min  && x <= max){
//Do Stuff

}
于 2013-09-27T21:16:56.290 回答
1

最好的方法是首先将其转换hexint然后进行比较。

于 2013-09-27T21:15:51.160 回答
1

只需使用比较运算符。您会发现知道十六进制数可以使用符号 直接在 C++ 中表示很有用0xHHHH,其中H范围自然是 from0F

bool check_range(int x)
{
    return x > 0x0000 && x < 0x03FF;
}

if(check_range(0x0D08))
    //do stuff
于 2013-09-27T21:19:28.410 回答