Почему я получаю неожиданные значения? - PullRequest
1 голос
/ 28 апреля 2020

У меня есть этот код:

#include <iostream>
#include <cmath>

using namespace std;

int main() {

  double a = 3.5, b = 2.9, c = 3.5, d = 3.5, e = 3.5;

  double fminA = fmin(fmin(a, b), fmin(c, d)),
         fminT = fmin(fminA, e),
         average = (a+b+c+d+e - fminT)/4;

  cout << "The average is: " << average << endl;

  if(average < 3.5) {
    cout << "3.5 is less than 3.5";
  }

  return 0;
}

Я получаю среднее значение по 4 наивысшим оценкам, в данном случае это 3,5.

Однако условная оценка истинна, я предположим, что это связано с двойной точностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...