Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

При возведении в куб некоторых положительных чисел получается отрицательное число

#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 для таких чисел.

Комментариев нет:

Отправить комментарий