Второй вариант был бы ОК, если бы && использовалось. В
противном случае, приличный компилятор пожалуется на возможное
переполнение. И любой компилятор запишет лишь нулевой бит
результата. Например. 0b11111110 даст ноль в члене структуры. Я так
думаю.