Блин. Имеется вполне четкое определение переполнения - это когда результат операции выходит за пределы отрезка [MIN,MAX] - где MIN и MAX это минимальное и максимальное значения, которые может принимать использованный тип данных. Эти MIN и MAX отлично прописаны в limits.h, кажется.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)