Когда я делаю следующий расчет:
unsigned long long int data_size = 60123456 * 128 * sizeof(double);
printf("data_size= %llu \n", data_size);
Я неожиданно получаю предупреждение о переполнении:
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.
Я не могу понять, почему эта ошибка появляется, хотя я использую unsigned long long int
! Может кто-нибудь объяснить, почему? Спасибо вам