Я увидел «переполнение целого числа со знаком», когда вычитал два длинных целых числа в C++.
обе переменные «ans» и «neg_av» относятся к типу long int, а neg_av равен или меньше нуля ;
и обратите внимание, что ответ вычитания не превышает максимального значения long int
long int ans = 1_000_000_000_000;
long int neg_av = -1_000_000_000_000 ;
ans = ans - neg_av;
cout
Подробнее здесь: https://stackoverflow.com/questions/790 ... low-in-cpp