Пытаетесь проверить, включен ли бит 1 байта? Сдвиг бит - PullRequest
0 голосов
/ 24 марта 2019

У меня есть байт, и я хочу проверить, включен ли бит 1.

Я написал следующее условие: if(byte & (1 << 0)) return true;

Путаница: я не понимаю, как читать байт.

Является ли бит 1 таким? т.е. (1 << 0) </p>

00000000
       ^

Или это? (1 << 1) </p>

00000000
      ^ 

Другими словами, читаем ли мы байт от 0 -7 или 1 - 8?

1 Ответ

0 голосов
/ 24 марта 2019

В информатике отсчет всегда начинается с 0. Так что 0-й бит - самый правый.Вот почему в примере этот ответ , 110 (6) << 1 становится 1100 (12).Это также означает, что сдвиг на 0 является нулевой операцией (она ничего не делает).

Это также означает, что для вашего случая, если вы хотите проверить самый правый бит, все, что вам нужно сделать, это byte & 1 - сдвиг не требуется.

...