Здравствуйте.
Как получить значение определенного бита в байте?
Допустим мы имеем байт с битами вида:
00110101
Как можно получить значение 4 или 5 бита?
Пример можно показать на любом языке, предпочтительнее C или Delphi.
Ответ
Если вас интересует буквальное значение бита (т.е. 0 или 1), то в языке С значение i-того бита числа n можно получить как
(n >> i) & 1u
Если вас интересует взвешенное значение бита (т.е. 0 или 8 для бита номер 3), то в языке С значение i-того бита числа n можно получить как
n & (1u << i)
(Подразумевается нумерация с нуля от младших битов к старшим.)
Комментариев нет:
Отправить комментарий