result |=(1<<(7-i)); - Что это?
- Войдите на сайт для отправки комментариев
Пнд, 15/02/2016 - 08:13
Здравствуйте. Объясните пожалуйста, что выполняет эта строчка. Вероятно это что то простое, но раннее такого не встречал и поиск не дал результата. Чем |= отличается от простого = и как понимать <<. Спасибо.
for(i=0; i< 8; i++){ result |=(1<<(7-i)); }
Читайте http://people.toiit.sgu.ru/Sinelnikov/PT/C/Kern_Ritch.pdf Там всё это написано и много чего другого.
Этот код делает следующее:
Другими словами он выставляет в 1 все биты в result, если он имеет байтовый тип. << - это побитовый сдвиг влево: ( 1 << 7 ) = ( 0b00000001 << 7 ) -> ( 0b10000000) .