Я проверил документ, в котором long
= int64
имеет диапазон более 900 000 000 000 000
Вот мой код :
int r = 99;
long test1 = r*r*r*r*r;
во время выполнения он дает мне 919 965 907 вместо правильных 9 509 900 499.
другой тест
long test2 = 99*99*99*99*99;
Он отказывается от компиляции, говоря о целочисленном переполнении.
Но если я сделаю это
long test3 = 10100200300;
Это нормально работает.