Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > проверить установлен в числе n-ый бит в 1 или 0


Автор: Igor_K 24.6.2009, 21:50
Здравствуйте!
Как можно проверить установлен в числе n-ый бит в 1 или 0 ?? Например число 83 в двоичном виде 1010011
3 бит имеет значение 1

Я где-то слышал такой метод: (83 >> 3) & 1
Но тут выводится 0

Автор: mes 24.6.2009, 22:02
Цитата(Igor_K @  24.6.2009,  20:50 Найти цитируемый пост)
3 бит имеет значение 1

3й справа или слева ? 
 1010011 :   (83 >> 4) & 1 
 smile 

Автор: Igor_K 24.6.2009, 22:32
ааа. они с правой стороны считаются. я не знал. smile 
И забыл, что начинается с 0 отсчет, а не с 1 smile 


mes, спасибо!  smile 

Автор: Igor_K 25.6.2009, 14:11
А как установить например 3 бит в 1 или 0 ??? Не подскажите?

Автор: yeputons 25.6.2009, 14:35
Подскажем.
83 | (1 << 3)

Убирать так:
83 & ~(1 << 3)

если не знаешь, ~ инвертирует все биты в аргументе.

Автор: Igor_K 25.6.2009, 16:25
yeputons, спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)