Пишу проект, в котором необходима большая точность вычислений угла, а так же cos и sin. Обнаружил, что значения, передаваемые мной в приведённые функции, преобразуются из long double в double (Мне это даже компилятор подсвечивает). Я нашёл определение этих функций, они имеют перегрузку с параметрами long double, однако, почему то происходит преобразование в double.
Выглядит примерно так:
ax += F*cos(angle) / Objects[i].getMass();/*ax, angle и mass - переменные типа long double*/
Тут же я получаю предупреждение: implicit conversion loses floating-point precision: 'long double' to 'double'
В чём дело?
Перегруженные функции объявлены в пространстве std
заголовка <cmath>
, т.е. называются std::cos
, std::sin
, std::atan2
. Именно их и надо вызывать.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Всем приветЕсть проект на vue с компонентами(
Предварительно прошу прощения за примитивный вопрос, но я в тупике) Пытаюсь разобраться с Bootstrap 4 и сверстать примитивную карточку товаров,...