許多語言(至少可以追溯到C
。我對舊的文字不熟悉)似乎有這樣的習慣,整數文字可以寫在3個鹼基上,並且有以下記號:八進制文字的點是什麼
0x
0X
或前綴鹼-16(十六進制)數0
前綴鹼-8(八進制)數- 無前綴指鹼基-10(十進制)數
我瞭解十六進制和十進制的使用。它們遍佈整個地方,具有不同的用例,它們使代碼更具可讀性(and
與0x20000
比131072
更清晰),並且不能混淆(一個帶有'x'或'X'init的數字作爲十進制數沒有意義)。
但是,八進制文字看起來對我來說是一個錯誤。首先,我從來沒有見過它們被使用過,並且似乎無法想象它會使代碼更易於使用它們的十六進制或十進制的單個用例。另外,它們可能會與十進制數字混淆(010
是編程語言域之外的完美的十進制數)。
那麼,八進制文字是否有用,它們是某種形式的歷史遺留物,有時甚至是有用的,或者它們只是一個錯誤?
您可以在linux中使用它們來執行類似'chmod'的命令。 –
今天沒有正當理由使用它們,只是歷史包袱。 'chmod'等可能會使用它們,但沒有理由不選擇使用十六進制數字。也許他們只是想保存輸入一個額外的'x'。 – user694733
更普遍的答案是,它們用於微控制器http://www.plcdev.com/octal_what_the_hex的領域。從維基百科來看:「當PDP-8,ICL 1900和IBM大型機等系統採用12位,24位或36位字時,Octal在計算機上得到了廣泛的應用,Octal是這些機器的理想二進制縮寫,他們的字大小可以被三個整除「 –