理解C/C 中的數字常數前綴
在C/C 中編寫數字常數時,數字前面使用的前綴具有重要含義這可以改變解釋值。其中一個前綴是“0”,它表示八進制(以 8 為基數)常數。
考慮將數字常數「0123」分配給整數變數的情況。在以 10 為基數(十進位)時,該值確實代表 123。但是,因為它以“0”為前綴,所以它被解釋為八進制常數。
在八進位數字的二進位表示中,每個數字都有特定值:
7: 111
2: 010
3: 011
連接這些二進位數字,我們得到:000001001011。將其轉換為以 10 為基數(十進位)所得到的值為 83。 因此,當 C/C 中的數字常數以 a 為前綴時'0',它表示一個八進制常數,並且該值被相應地解釋。這種行為在 C 語言和使用 GCC 編譯器的 C 語言中都是一致的,甚至對於浮點常數也是如此。以上是為什麼 C/C 中的「0123」等於 83?的詳細內容。更多資訊請關注PHP中文網其他相關文章!