關(guān)于C++中0是十進(jìn)制還是八進(jìn)制的問題
雖然在任何進(jìn)制數(shù)種, 0 只有一個值——那就是「零」,之所以問這個問題,純粹是閑的。
最近和朋友們討論關(guān)于數(shù)的話題,他說,八進(jìn)制數(shù)現(xiàn)在幾乎從未使用過。 我一時無法反駁,確實(shí),除了我們經(jīng)常使用的十進(jìn)制,在計算機(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ī)中確實(shí)有很多東西值得深究,比如簡單類型其實(shí)一點(diǎn)都不簡單,更多的計算機(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
以后我們設(shè)置可以自豪的說,“在計算機(jī)中,八進(jìn)制比二進(jìn)制,甚至十六進(jìn)制更普遍”。
相關(guān)文章
C++實(shí)現(xiàn)簡單職工管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++職工管理系統(tǒng)實(shí)訓(xùn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-04-04C++實(shí)現(xiàn)含附件的郵件發(fā)送功能
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)含附件的郵件發(fā)送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05C++ 數(shù)據(jù)結(jié)構(gòu)線性表-數(shù)組實(shí)現(xiàn)
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)線性表-數(shù)組實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-06-06