Вообщем вопрос из разряда общих.Известно что в Си\С++ есть глобальная переменная errno, которая устанавливается (например мат. ф-ями) при переполнении в состояние макроса ERANGE. Есть также глоб. переменная math_errhanding, которая также принимает в зависимости от конкретного случая значение соответствующего макроса. Но это все при работе с мат. библиотекой.Вопрос в следующем. Как контролировать переполнение, напр. обыкновенной интовой переменной, если она, допустим в цикле, принимает какое-то значение вне допустимого диапазона (понятно, что она тогда становиться отрицательной)?Я не знаю Ассемблера, но мне известно что есть такой флаг переноса, который если совпадает со знаковым битом - то переполнения не произшло, иначе оно имело место. Как выполнить такую проверку в Си или в Си++ (или комплектом из Студии)? Спасибо.
|