Почему & 0xFFFF необходим при проверке блокировки заглавных букв - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь проверить, включена ли CAPS LOCK.Я видел следующую строку, и мне было интересно, зачем нужно AND с 0xFFFF, поскольку AND с 0xFFFF вернет точно такое же число.Я прочитал здесь , что для проверки переключения CAPS LOCK необходимо проверить младший бит, следовательно, он должен быть И с 1. Итак, почему 0xFFFF?

bool CapsLock = (((ushort)GetKeyState(0x14)) & 0xffff) != 0;

Спасибо!

1 Ответ

1 голос
/ 07 марта 2019

Я согласен с GSerg, что его не нужно использовать. Но обычно использование и побитового оператора для получения части значения.

например:

0x11ffff
0xffff 
--------- AND
0xffff

Вы можете использовать этот онлайн-битовый калькулятор , чтобы понять, как он работает.

...