【发布时间】:2013-09-27 21:13:53
【问题描述】:
如图所示,我在十六进制范围内有最小值和最大值,我喜欢搜索/检查这个十六进制数 0D08 是否属于下面的十六进制范围。 提前致谢。
安德鲁 我应该在数组中做吗? {"0000","0001",......"03FF"},但是太多了。
0000H - 03FFH
【问题讨论】:
-
将十六进制转换为
int并比较int的值。 -
为什么不将最小值、最大值和数字转换为小数,然后简单地做
if ( number >= min && number <= max )? -
您如何知道十六进制值?作为字符串,作为数字?它们只是数字——因此适用数学的常规规则。毕竟十六进制只是一组二进制数字,这实际上是计算机内部表示数字的方式。您在发布问题之前是否考虑过这一点?
-
0x03FF 是十进制的 1023,具有 1024 个条目的数组仅用于比较范围是非常低效的。将其转换为
int然后简单地比较... -
弗洛里斯:不,但我不希望简单的比较能奏效,结果每个人都有相同的答案。我以为你问过关于十六进制数的问题?感谢您的 cmets。