| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > первые 3 бита байта равны 110? |
| Автор: GQU 16.11.2015, 17:17 |
| Как определить, первые 3 бита байта равны 110 или нет? |
| Автор: konshyn 16.11.2015, 18:45 |
| Младшие, можно, например так: if (x % 8 == 0b110) { ... } старшие, если это переменная именно 1 байт, то так: if (x >> 5 == 0b110) { ... } |
| Автор: Sajtran 17.11.2015, 11:29 | ||
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/pervyye-3-bita-bayta-ravny-110-id5649e59cae20151a7f8b4567#findElement_E7045_564ae57fae2015bf358b45f2_0 |
| Автор: konshyn 17.11.2015, 14:04 | ||
Не подойдет. Контр-пример: 0b00000111
Все верное, оператор >> имеет больший приоритет. Поэтому он сначала сдвигает вправо на 5 бит, а потом сравнивает. После сдвига будет 0b00000xxx. Скобки необязательны, но можно и поставить, если очень хочется. наверное, имелось в виду == |
| Автор: Sajtran 18.11.2015, 07:08 |
| точно, ступил, маску по значимым битам и сравнивать желаемое Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/pervyye-3-bita-bayta-ravny-110-id5649e59cae20151a7f8b4567#findElement_E7045_564bf9d0ae2015f8048b5c97_0 |