Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah akhiran `LL` membolehkan pengendalian nilai integer besar dalam C/C apabila jenis data `panjang` tidak mencukupi?
long long dalam C/C
Coretan kod ini menunjukkan penggunaan jenis data long long dalam C/C :
#include <stdio.h> int main() { int num1 = 1000000000; long num2 = 1000000000; long long num3; long long num4 = ~0; printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3)); printf("%d %ld %lld %llu", num1, num2, num3, num4); return 0; }
Apabila menyusun kod dengan baris yang diulas tidak diulas (menetapkan nilai yang terlalu besar untuk jenis data yang panjang), ralat berlaku:
error: integer constant is too large for long type
Ini kerana nilai 100000000000 ialah terlalu besar untuk jenis data yang panjang, dan pengkompil memerlukan akhiran untuk menyatakan secara eksplisit jenis data yang panjang. Untuk menyelesaikan isu ini, tambahkan akhiran LL pada literal:
long long num3 = 100000000000LL;
Akhiran LL menunjukkan bahawa literal harus dianggap sebagai nilai panjang yang panjang. Apabila kod disusun dan dilaksanakan, ia menghasilkan nilai yang lebih besar daripada 10000000000, yang menunjukkan julat lanjutan jenis data yang panjang.
Atas ialah kandungan terperinci Bagaimanakah akhiran `LL` membolehkan pengendalian nilai integer besar dalam C/C apabila jenis data `panjang` tidak mencukupi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!