#c_sharp
Почему при возведении некоторых положительных чисел в куб получается отрицательное
число? Например 9630 или 2750
int num = 9630;
int cube = num * num * num;
Console.WriteLine(cube);
// вывод -296850568
Ответы
Ответ 1
Число 9630 в кубе это 893 056 347 000. А, т.к. int имеет диапазон От -2 147 483 648 до 2 147 483 647 естественно результат некорректный (переполнение). Используйте long или decimal вместо int для таких чисел.
Комментариев нет:
Отправить комментарий