Я обнаружил несколько интересных битов в файле "source \ common \ unicode \ utf.h"
библиотеки ICU (Международные компоненты для Unicode). Перестановка битов предназначена для проверки того, находится ли число в определенном диапазоне.
// Is a code point in a range of U+d800..U+dbff?
#define U_IS_LEAD(c) (((c)&0xfffffc00)==0xd800)
Я выяснил, что магическое число (0xfffffc00) взято из:
MagicNumber = 0xffffffff - (HighBound - LowBound)
Однако я также обнаружил, что формула не применима ко всем произвольным диапазон. Кто-нибудь здесь знает, в каких обстоятельствах работает формула?
Есть ли еще один способ проверить, находится ли число в определенном диапазоне?