如果我有一个范围,比如000080-0007FF
我想看看一个包含十六进制的字符是否在这个范围内,我该怎么做?
示例
char t = 0xd790;
if (t is within range of 000080-0007FF) // true
wchar_t t = 0xd790;
if (t >= 0x80 && t <= 0x7ff) ...
在C++中,字符可以与整数互换,并且可以直接比较它们的值。
请注意,我使用了wchar_t
,因为char
数据类型最多只能容纳0xFF的值。
unsigned short t = 0xd790;
if (t >= 0x80 && t <= 0x7ff) ...
由于一个字符的最大值为0xFF,您不能用它来比较任何十六进制数字超过2的字符。
由于计算机上的十六进制只不过是打印数字(如十进制)的一种方式,因此您也可以与普通的10进制整数进行比较。
if( (t >= 128) && (t <= 2047) )
{
}
可读性更强。