exponenta event banner

MISRA C:2012 Правило 6.2

Одноразрядные именованные битовые поля не должны быть подписанного типа

Описание

Определение правила

Одноразрядные именованные битовые поля не должны быть подписанного типа.

Объяснение

В соответствии с разделом 6.2.6.2 стандарта C99 одноразрядное битовое поле со знаком имеет один бит знака и не имеет битов значения. В любом представлении целых чисел биты нулевого значения не могут указывать значимое значение.

Поэтому однобитовое подписанное битовое поле вряд ли будет вести себя полезным образом. Его наличие, вероятно, указывает на путаницу программистов.

Несмотря на то, что стандарт C90 не содержит больших подробностей относительно представления типов, применяются те же самые одноразрядные параметры битового поля.

Внедрение Polyspace

Это правило не применяется к безымянным битовым полям, поскольку их значения недоступны.

Поиск неисправностей

Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.

Проверить информацию

Группа: Типы
Категория: Обязательно
Категория СМЖЛ: требуется
Представлен в R2014b