關於C++中0是十進位還是八進位的問題

來源:互聯網
上載者:User

雖然在任何進位數種, 0 只有一個值——那就是「零」,之所以問這個問題,純粹是閑著蛋疼。

最近和朋友們討論關於數的話題,他說,八位元現在幾乎從未使用過。 我一時無法反駁,確實,除了我們經常使用的十進位,在電腦中用的最多的就是二進位和十六進位了,八位元確實很“小眾”。

等我回到家仔細一琢磨,八進位,八進位,「八進位就是以 0 開頭的數字」,咦,那 0 算嗎?0 也是以 0 開頭的數字啊!如果 0 是八進位的話,那麼我們幾乎每天都在使用八位元。 電腦中確實有很多東西值得深究,比如簡單類型其實一點都不簡單,更多蛋疼的電腦問題可以去我的《代碼之謎》系列去看看。

那麼 0 是八位元嗎?C++ 規範如何定義的?

是的,在 C++ 中,0 是 八進位 的。

根據 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 <--------------------<這裡>
octal-literal octal-digit

以後我們設定可以自豪的說,“在電腦中,八進位比二進位,甚至十六進位更普遍”。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.