When I make the following calculation:
unsigned long long int data_size = 60123456 * 128 * sizeof(double);
printf("data_size= %llu
", data_size);
I surprisingly get overflow warning:
test.c:20:49: warning: overflow in expression; result is -894132224 with type 'int' [-Winteger-overflow]
unsigned long long int data_size = 60123456 * 128 * sizeof(double);
^
1 warning generated.
I cannot understand why this error appears even though I am using unsigned long long int
! Can someone explain why? Thank you
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…