• Почему при умножении 1*2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17 получается совсем что-то не то?

    @Agrimed
    Идет переполнение, числа находятся в промежутке от -2^15 до (2^15) - 1 это в знаковой, если использовать( как пример) unsigned int, то промежуток будет от 0 до (2^16)-1. Если число переходит значение в знаковой переменной верхнюю положительную границу(2^15) - 1, то число становится отрицательным и так далее. Все еще зависит от системы на которой вы работаете. Допустим в C можно указать, сколько бит вам нужно в int.
    Ответ написан
    Комментировать