Баг компилятора или павн?
Здравствуйте, покажу пример.
PHP код:
new test = 80*50000000;
printf("%d",test); // -294967296
test = 100*50000000;
printf("%d",test); // 705032704
Объясните мне такой феномен, почему так происходит, и как решать такие проблемы в будущем
UPD:
Но если мы попробуем так, будет все правильно отображать
PHP код:
new test = 80*60000000;
printf("%d",test); // 505032704
test = 100*60000000;
printf("%d",test); // 1705032704
Для Float:
PHP код:
new Float:test = 80.0*50000000.0;
printf("%f",test); // .','*).'*.000000
test = 100.0*50000000.0;
printf("%f",test); // 705032704.000000