☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

禁用 8 进制常量

11.11 ID_literal_forbidOct
目录 › next › previous

8 进制不像 10 进制那样符合人们的常规思维,也不像 2 进制或 16 进制那样便于展示数据的存储格式,而且 C/C++ 语言中 8 进制表示法只是在数字前置 0,与十进制过于相似,易被误用。

示例:

const int K_0 = 5592;
const int K_1 = 0631;  // Non-compliant
const int K_2 = 3817;
const int K_3 = 4257;

为了格式上的对齐,错误地在 10 进制数前写 0 是常见笔误,例中 k_1 的实际值为 409。

参考

MISRA C 2004 7.1 MISRA C 2012 7.1 MISRA C++ 2008 2-13-2
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.