Попробую попроще и, возможно, неточно. Во многих устройствах и языках программирования есть ячейки памяти, в которых можно хранить, в зависимости от их размера, сколько-то нулей и единиц. Причем, самая большая единичка обозначает знак. Соответственно, когда число увеличивается, увеличивается 1, 11, 111, 1111, то в один прекрасный момент, например, 255 становится -256 и увеличивается дальше, только уже к нулю. Это просто кто-то переполнение не обрабатывает...