Oktal atau Perpuluhan: Mendedahkan Sifat 0 dalam C
Dalam bidang pengaturcaraan, perwakilan integer literal mempunyai kepentingan. Walaupun nampaknya tidak penting bahawa sifar sentiasa sifar, perbincangan baru-baru ini mencetuskan soalan: adakah 0 harus diklasifikasikan sebagai literal perpuluhan atau literal oktal?
Menyingkap Standard C
Untuk menjawab soalan ini, kami menyelidiki inti standard bahasa C. Menurut Bahagian 2.14.2 [lex.icon], literal integer boleh dikategorikan sebagai perpuluhan, perlapanan atau perenambelasan berdasarkan sintaksnya.
Secara khusus, piawaian mentakrifkan literal oktal sebagai:
octal-literal: 0 <-- Here octal-literal octal-digit
Keputusan: Perlapanan atau Perpuluhan?
Takrifan ini dengan jelas menyatakan bahawa 0 layak sebagai literal oktal. Piawaian telah menjelaskan pendiriannya: jika tiada awalan atau akhiran lain, 0 hendaklah ditafsirkan sebagai literal oktal dalam C .
Konteks Sejarah
Kelaziman literal oktal dalam pengkomputeran awal dipengaruhi oleh penguasaan seni bina 8-bit. Walau bagaimanapun, hari ini, dengan penggunaan seni bina 32-bit dan 64-bit yang meluas, literal perpuluhan telah menjadi lebih biasa.
Walau bagaimanapun, pengiktirafan standard terhadap literal oktal berfungsi sebagai peringatan tentang warisan pengkomputeran awal dan menyediakan keserasian dengan pangkalan kod lama.
Atas ialah kandungan terperinci Adakah 0 adalah Literal Oktal atau Perpuluhan dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!