2

言う範囲があり、000080-0007FF 16 進数を含む char がその範囲内にあるかどうかを確認したい場合、どうすればよいですか?

char t = 0xd790;

if (t is within range of 000080-0007FF) // true
4

3 に答える 3

8
wchar_t t = 0xd790;

if (t >= 0x80 && t <= 0x7ff) ...

C++ では、文字は整数と交換可能であり、それらの値を直接比較できます。

データ型は 0xFF までの値しか保持できないwchar_tため、を使用したことに注意してください。char

于 2008-11-02T20:50:11.463 に答える
3
unsigned short t = 0xd790;

if (t >= 0x80 && t <= 0x7ff) ...

char の最大値は 0xFF であるため、16 進数が 2 を超えるものを比較するために使用することはできません。

于 2008-11-02T21:05:50.373 に答える
0

コンピューターの 16 進数は (10 進数のように) 数値を出力する方法にすぎないため、単純な古い 10 進数の整数と比較することもできます。

if( (t >= 128) && (t <= 2047) )
{
}

より読みやすく。

于 2008-11-02T21:16:51.973 に答える