c # float [] среднее теряет точность

Я пытаюсь вычислить среднее значение для массива чисел с плавающей точкой. Мне нужно использовать индексы, потому что это внутри бинарного поиска, поэтому верх и низ будут двигаться. (Большая картина, которую мы пытаемся оптимизировать, оценивая половину диапазона, поэтому мы ненужно заново создавать массив каждый проход).

Во всяком случае, я написал пользовательский средний цикл, и ям получая на 2 места меньшую точность, чем метод c # Average ()

float test = input.Average();

int count = (top - bottom) + 1;//number of elements in this iteration
int pos = bottom;
float average = 0f;//working average
while (pos 

Ответы на вопрос(3)

Ваш ответ на вопрос