Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah 0 adalah Literal Oktal atau Perpuluhan dalam C ?

Adakah 0 adalah Literal Oktal atau Perpuluhan dalam C ?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-21 18:31:15937semak imbas

Is 0 an Octal or Decimal Literal in C  ?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn