關(guān)于C++中0是十進(jìn)制還是八進(jìn)制的問題
雖然在任何進(jìn)制數(shù)種, 0 只有一個(gè)值——那就是「零」,之所以問這個(gè)問題,純粹是閑的。
最近和朋友們討論關(guān)于數(shù)的話題,他說,八進(jìn)制數(shù)現(xiàn)在幾乎從未使用過。 我一時(shí)無法反駁,確實(shí),除了我們經(jīng)常使用的十進(jìn)制,在計(jì)算機(jī)中用的最多的就是二進(jìn)制和十六進(jìn)制了,八進(jìn)制數(shù)確實(shí)很“小眾”。
等我回到家仔細(xì)一琢磨,八進(jìn)制,八進(jìn)制,「八進(jìn)制就是以 0 開頭的數(shù)字」,咦,那 0 算嗎?0 也是以 0 開頭的數(shù)字?。∪绻?0 是八進(jìn)制的話,那么我們幾乎每天都在使用八進(jìn)制數(shù)。 計(jì)算機(jī)中確實(shí)有很多東西值得深究,比如簡(jiǎn)單類型其實(shí)一點(diǎn)都不簡(jiǎn)單,更多的計(jì)算機(jī)問題可以去我的《代碼之謎》系列去看看。
那么 0 是八進(jìn)制數(shù)嗎?C++ 規(guī)范如何定義的?
是的,在 C++ 中,0 是 八進(jìn)制 的。
根據(jù) C++ 標(biāo)準(zhǔn):
2.14.2 整數(shù) [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
以后我們?cè)O(shè)置可以自豪的說,“在計(jì)算機(jī)中,八進(jìn)制比二進(jìn)制,甚至十六進(jìn)制更普遍”。
相關(guān)文章
C++實(shí)現(xiàn)簡(jiǎn)單職工管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++職工管理系統(tǒng)實(shí)訓(xùn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-04-04C++實(shí)現(xiàn)含附件的郵件發(fā)送功能
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)含附件的郵件發(fā)送功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05基于Qt實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器
這篇文章主要介紹了如何使用Qt框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器應(yīng)用,我們將使用C++編程語言和Qt的圖形用戶界面庫(kù)來開發(fā)這個(gè)應(yīng)用,并展示如何實(shí)現(xiàn)基本的算術(shù)操作,希望對(duì)大家有所幫助2023-11-11C++ 數(shù)據(jù)結(jié)構(gòu)線性表-數(shù)組實(shí)現(xiàn)
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)線性表-數(shù)組實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-06-06C/C++內(nèi)存泄漏原因分析與應(yīng)對(duì)方法
內(nèi)存泄漏會(huì)導(dǎo)致當(dāng)前應(yīng)用程序消耗更多的內(nèi)存,使得其他應(yīng)用程序可用的內(nèi)存更少了,那么為什么會(huì)內(nèi)存泄漏,我們應(yīng)該怎樣應(yīng)對(duì)內(nèi)存泄漏,所以接下來就給大家詳細(xì)介紹一下C++內(nèi)存泄漏原因分析與應(yīng)對(duì)方法,需要的朋友可以參考下2023-07-07