Арифметическая задача выводит неправильный результат - C#

Узнай цену своей работы

Формулировка задачи:

есть скажем выражение double a = -(((0.8 / 2) * ((4.0 - 1) / 4.0)) + 0.0) + 0.3; логически ответ должен получиться как a = -0.3 + 0.3 = 0 но выполняя данное действие в программе ответ получается a = 5.5... может кто дать ответ почему так и как решить данную проблему? реальное выражение выглядит так:
for (int i = 1; i <= N; i++)
            {
                mass[i] = -(((A / 2) * ((i - 1) / N)) + K) + MIN;
            }
в качестве примера представлены уже заполненные переменные, в ходе которых и получается неправильный ответ

Решение задачи: «Арифметическая задача выводит неправильный результат»

textual
Листинг программы
      static double UM_ESA(double N, double A, double K, double MIN)
        {
            var x1 = A / 2;         //0.4
            var x2 = (4 - 1) / N;   //0.75
            var x3 = x1 * x2 + K;   //0.30000000000000004           
            var x4 = -x3 + MIN;     //-0.000000000000000055511151231257827
           
            double mass = -(((A / 2) * ((4 - 1) / N)) + K) + MIN;            
            return mass;
        }
 
        static void Main()
        {
            Console.WriteLine(UM_ESA(4, 0.8, 0, 0.3));
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы