C
C
Coder 14482020-10-10 19:26:28
C++ / C#
Coder 1448, 2020-10-10 19:26:28

Why does the value of a variable change by itself?

#include <iostream>
#include <math.h>
#include <iomanip>

int main () {

  std::cout << std::setprecision(20);

  std::cout << std::endl;
  std::cout << "Данная программа работает с формулой Лоренца для движения с постоянной скоростью." << std::endl << std::endl;

  std::cout << "Что вы хотите вычислить?" << std::endl;
  std::cout << "3 - скорость движущегося объекта" << std::endl;
  std::cout << "Ответ: ";

  int answer;
  std::cin >> answer;

  const int c = 299792458; // Скорость света - константа
  double V; // Скорость движущегося объекта
  double dt; // Время, пройденное для наблюдателя
  double dt0 ; // Время, пройденное для движущегося

  if (answer == 3) {

    std::cout << "Введите время в секундах, пройденное для движущегося объекта: ";
    std::cin >> dt0;

    std::cout << "Введите время в секундах, пройденное для наблюдателя (должно быть больше чем пройденное время для движущегося объекта: ";
    std::cin >> dt;

    V = c * sqrt( 1 - dt0*dt0/dt/dt );

    std::cout << std::endl;
    std::cout << "Если объект будет двигаться со скоростью " << V << " м/с, то пока для него пройдёт " << dt0 << " сек, для наблюдателя пройдёт " << dt << " сек.";
  }

  std::cout << std::endl;
  std::cout << std::endl;
  return 0;
}


The value of the variable dt changes by itself at the end of the output. For example, I enter 1.0001, and in the output it writes 1.0001000000000000581. How is this possible?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
Dmitry Alexandrov, 2020-10-10
@wows15

https://0.30000000000000004.com/

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question