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

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

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

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

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

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

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы