Я застрял в своем проекте. На самом деле я нахожу среднее значение нескольких значений. У меня есть десять значений для среднего. Сумма дает правильный результат в течение некоторого времени, то есть я добавляю отрицательные числа, и результат также является отрицательными числами, но когда значения, среднее значение которых должно быть найдено, имеют большие значения, тогда 16-битный регистр, в котором хранится сумма, дает положительное значение. Что здесь происходит не так.
void SmoothArray()
{
val = 0;
for(k=0;k<10;k++)
{
cc = array[k];
val += cc;
}
val /= 10;
}
В этом случае, когда массив имеет много отрицательных местоположений, суммирование является неправильным, что является положительным. Используется язык C. Массив без знака короткий, а val короткий