關(guān)于C++中0是十進制還是八進制的問題
雖然在任何進制數(shù)種, 0 只有一個值——那就是「零」,之所以問這個問題,純粹是閑的。
最近和朋友們討論關(guān)于數(shù)的話題,他說,八進制數(shù)現(xiàn)在幾乎從未使用過。 我一時無法反駁,確實,除了我們經(jīng)常使用的十進制,在計算機中用的最多的就是二進制和十六進制了,八進制數(shù)確實很“小眾”。
等我回到家仔細一琢磨,八進制,八進制,「八進制就是以 0 開頭的數(shù)字」,咦,那 0 算嗎?0 也是以 0 開頭的數(shù)字?。∪绻?0 是八進制的話,那么我們幾乎每天都在使用八進制數(shù)。 計算機中確實有很多東西值得深究,比如簡單類型其實一點都不簡單,更多的計算機問題可以去我的《代碼之謎》系列去看看。
那么 0 是八進制數(shù)嗎?C++ 規(guī)范如何定義的?
是的,在 C++ 中,0 是 八進制 的。
根據(jù) C++ 標準:
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è)置可以自豪的說,“在計算機中,八進制比二進制,甚至十六進制更普遍”。
相關(guān)文章
C++ 數(shù)據(jù)結(jié)構(gòu)線性表-數(shù)組實現(xiàn)
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)線性表-數(shù)組實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-06-06