MISRA C++:2008 Rule 9-6-4
Named bit-fields with signed integer type shall have a length of more than one bit
描述
规则定义
Named bit-fields with signed integer type shall have a length of more than one bit. 1
理由
长度为 1 的有符号整数位字段类型的变量的值可能不符合开发人员的预期。例如,固定宽度的有符号整数类型,如 std::int16_t(来自 cstdint),采用的是二进制补码表示法。在这种表示法中,单个位仅作为符号位,其值可能是 0 或 -1。
Polyspace 实现
该检查项会标记长度为 1 的有符号整数位字段类型的命名变量的声明。
不会标记长度为 0 的位字段类型。
故障排除
如果您预期会出现违规,而 Polyspace® 未报告该违规,请参阅诊断为何编码规范违规未按预期显示。
示例
检查信息
| 组:类 |
| 类别:必需 |
版本历史记录
在 R2013b 中推出
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.