C11 не имеет двоичных литералов;он имеет только десятичные, восьмеричные и шестнадцатеричные числа, как описано в разделе 6.4.4.1 стандарта.Это не отличается от C99.
6.6, параграф 10 гласит:
Реализация может принимать другие формы константных выражений.
, которые, если я понимаюэто правильно, разрешает тип расширения, которое обеспечивает ваш компилятор;это также не отличается от C99.
Обычный обходной путь - использование шестнадцатеричных литералов;каждая шестнадцатеричная цифра соответствует четырем двоичным цифрам.(И, конечно, 0b000
можно записать просто как 0
.)