首页 >后端开发 >C++ >0 是 C 中的八进制还是十进制文字?

0 是 C 中的八进制还是十进制文字?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-21 18:31:151002浏览

Is 0 an Octal or Decimal Literal in C  ?

八进制或十进制:揭示 C 中 0 的本质

在编程领域,文字整数的表示具有重要意义。虽然零总是零似乎无关紧要,但最近的一次讨论引发了一个问题:0 应该分类为十进制文字还是八进制文字?

揭开 C 标准

为了解决这个问题,我们深入研究 C 语言标准的核心。根据第 2.14.2 节 [lex.icon],整数文字根据其语法可以分为十进制、八进制或十六进制。

具体来说,标准将八进制文字定义为:

octal-literal:
    0                           <-- Here
    octal-literal octal-digit

判决:八进制还是十进制?

这个定义明确指出 0 符合八进制文字的资格。该标准明确了自己的立场:在没有任何其他前缀或后缀的情况下,0 将被解释为 C 中的八进制文字。

历史背景

八进制文字在早期计算中的流行受到 8 位体系结构主导地位的影响。然而,如今,随着 32 位和 64 位架构的广泛采用,十进制文字已经变得更加常见。

尽管如此,该标准对八进制文字的识别提醒人们注意早期计算的遗产并提供与旧代码库的兼容性。

以上是0 是 C 中的八进制还是十进制文字?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn