Я хочу перепроверить часть своей логики в отношении сторонней функции, которую я использую, и я не уверен, правильно ли я понял побитовую логику или нет. Может ли кто-нибудь дать мне диапазон значений для переменной «intValue» в каждом сценарии, который заставит каждое условие возвращать true? Спасибо!
if ((intValue < 0 && ((intValue & 0xFFFFFF80) == 0xFFFFFF80)) ||
(intValue & 0x0000007F) == intValue) {
}
else if ((intValue < 0 && ((intValue & 0xFFFF8000) == 0xFFFF8000)) ||
(intValue & 0x00007FFF) == intValue) {
}
else if ((intValue < 0 && ((intValue & 0xFF800000) == 0xFF800000)) ||
(intValue & 0x007FFFFF) == intValue) {
}
else {
}