Rumah >pembangunan bahagian belakang >C++ >Bilakah Huruf Integer Menjadi 64-Bit?
Literal Integer 64-Bit dalam Konteks Int Lalai
Dalam pengaturcaraan, literal integer mewakili nombor bulat. Biasanya, literal ini diberikan kepada jenis data integer lalai, yang biasanya lebarnya 32 bit. Walau bagaimanapun, keadaan tertentu boleh menyebabkan literal integer yang lebih besar dicipta secara lalai.
Salah satu kes sedemikian ialah apabila literal integer melebihi julat jenis integer lalai. Contohnya, dalam C dan C , literal tanpa lampiran "L" mempunyai jenis yang boleh mewakili nilainya. Jika nilai terlalu besar untuk jenis int, ia akan dinaikkan taraf kepada jenis int panjang atau jenis int panjang panjang.
Promosi ini menyelesaikan isu limpahan yang sebaliknya akan berlaku jika literal dibuang sebagai 32- bit integer. Piawaian C 11 menentukan tingkah laku ini dalam [lex.icon] ¶2, menyatakan bahawa jenis literal akan menjadi yang pertama dalam senarai yang diberikan di mana nilai boleh diwakili:
int long int long long int
Begitu juga, C99 mentakrifkan ini mekanisme kenaikan pangkat dalam §6.4.4.1. Ini memastikan bahawa walaupun literal integer melebihi julat integer lalai, ia akan ditukar secara tersirat kepada jenis yang lebih besar, membolehkan ia diwakili dengan betul.
Dalam kes yang jarang berlaku, literal integer mungkin masih terlalu besar untuk jenis integer yang tersedia. Dalam kes itu, kedua-dua C99 dan C 11 mewajibkan ralat kompilasi, menunjukkan bahawa literal tidak boleh diwakili oleh sebarang jenis yang disokong. Ini menghalang isu masa jalan yang disebabkan oleh limpahan integer.
Atas ialah kandungan terperinci Bilakah Huruf Integer Menjadi 64-Bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!