do {
// считываем байт b
} while (!b); // выходим из петли если флаг 1
Кстати, тут b должна быть определена как volatile. А иначе компилятор может оптимизировать код так, что b будет прочитана только один раз, и ваша программа зависнет в бесконечном цикле.
Вы бредите.
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
Ion Tichy wrote: 18 May 2017 05:54
...и замаскировать все биты кроме последнего -если последний нужен- &1
Смотря который считать последним
Для меня последний 0x80, а 0x01 - первый.
Еврей что ли или араб? Справа налево читаете?
Биты нумеруются от младших к старшим, с тем только замечанием, что нумерация традиционно ведется с нуля. Поэтому "первым" натуральнее назвать младший бит, а "последним" - старший. То есть именно 0x01 - "первый", а 0x80 - "последний".
И да, нумерация разрядов в позиционной записи числа растет справа-налево. Для этого совсем не надо быть евреем или арабом.
do {
// считываем байт b
} while (!b); // выходим из петли если флаг 1
Кстати, тут b должна быть определена как volatile. А иначе компилятор может оптимизировать код так, что b будет прочитана только один раз, и ваша программа зависнет в бесконечном цикле.