Вопрос по циклу while C#

Возникли некоторые вопросы относительно работы цикла while на C# . Как я понимаю ,он продолжается пока условие верно .Написал код ,в котором есть значение 5 и в цикле оно умножается сначала на 3 потом на 4 и выводит в косоль.

введите сюда описание изображения

Вроде все работает , но в консоли почему то выводится также отрицательное значение.Разве он не должен перестать работать после вывода значения 179159040? Вывод отрицательного числа в данном случае связан с тем , что при таком умножении возникает 2.14990848е9?

введите сюда описание изображения


Ответы (1 шт):

Автор решения: MBo

Вывод отрицательного числа вызван логикой вашего цикла - умножение и вывод производится после проверки на отрицательность. Или по-другому - сначала умножили и напечатали, только потом проверили...

А то, что вообще получается отрицательное число - обусловлено форматом целых знаковых 32-разрядных чисел, положительный диапазон которых ограничен значением 2^31-1

→ Ссылка