нет, вы. Это именно вы заменили число три на длинную и мало осмысленную последовательность символов. Ну ладно, вы двигаете 1 влево на 1, это круто. Но зачем вы двигаете 1 на ноль? В чём может быть суть данного (без)действия? Разве это не тоже самое, что goto на следующую команду? Скобки зачем поставили? Какой в них смысл? Если хотите путать, так путайте до конца, приоритет << таки выше, чем |.
очевидно я рекомендую использовать побольше бит. Желательно все. Что вам непонятно? Что я не знаю, сколько именно бит в целевой платформе? Дык этого и вы не знаете. Да и не должны знать.
время тут при том, что я не впервые вижу такой быдлокод. Т.ч. вы меня только расстроили, но никак не удивили. Лучше что-то новое покажите, а не эту ерунду сорокалетней давности...
очевидно в том, что
1. в этот же int можно напихать побольше переменных не сильно меняя код
2. а если не пихать, то выделять биты проще. Часто даже тривиально.
3. а самое главное, что тип int работает либо также быстро как битовое поле, либо намного быстрее. Откуда следует, что либо одиночное поле ничуть не лучше, либо намного хуже.