1. ホーム
  2. c++

[解決済み】0は10進数のリテラルか8進数のリテラルか?

2022-03-25 16:40:38

質問

ゼロは常にゼロだから問題ない。しかし、最近友人と議論したところ、8進数のリテラルは現在ほとんど使われていないそうです。 そこでふと思ったのですが、実はほとんど すべて 私のコードにある整数リテラル 8進数、すなわち 0 .

0 は、C++の文法に従った8進数のリテラルなのでしょうか?標準ではどうなっているのでしょうか?

<サブ 私が知っている唯一の実際の使用法は、unixファイルのパーミッションです。

どのように解決するのですか?

はい。 0 8進数のリテラル をC++で表示します。

C++規格による。

2.14.2 整数リテラル [lex.icon] (英語

integer-literal:  
    decimal-literal integer-suffixopt  
    octal-literal integer-suffixopt  
    hexadecimal-literal integer-suffixopt  
decimal-literal:  
    nonzero-digit  
    decimal-literal digit  
octal-literal:  
    0                           <--------------------<Here>
    octal-literal octal-digit