Rumah > pembangunan bahagian belakang > C++ > Bilakah Integer Literal Bukan `int`?

Bilakah Integer Literal Bukan `int`?

Patricia Arquette
Lepaskan: 2024-12-17 06:02:24
asal
147 orang telah melayarinya

When is an Integer Literal Not an `int`?

Jenis Huruf Integer Bukan int secara Lalai

Dalam pengaturcaraan, jenis literal integer biasanya diandaikan sebagai int. Walau bagaimanapun, terdapat kes di mana ini mungkin tidak berlaku.

Pertimbangkan kod C berikut:

for (i = 0; i < 10000000000; i++)
Salin selepas log masuk

Walaupun 10000000000 literal tidak dilampirkan dengan akhiran 'L' (yang secara eksplisit menandakan jenis integer panjang), pengkompil mengiktiraf bahawa nilai ini melebihi julat 32-bit integer.

Menurut piawaian C99 dan C 11, jenis pemalar integer ditentukan oleh catatan pertama dalam Jadual 6 di mana nilainya boleh diwakili. Untuk pemalar perpuluhan tanpa akhiran, Jadual 6 menentukan jenis berikut dalam tertib menurun:

  • long long int
  • long int
  • int

Oleh itu, dalam sampel kod yang diberikan, pengkompil mentafsir literal sebagai int panjang (atau int panjang panjang jika int panjang ialah 32 bit) untuk menampung nilainya yang besar.

Adalah penting untuk ambil perhatian bahawa literal "terlalu besar" biasanya mengakibatkan ralat penyusunan. Ini kerana nilai tidak boleh diwakili oleh mana-mana jenis yang dibenarkan.

Atas ialah kandungan terperinci Bilakah Integer Literal Bukan `int`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan