Как создать дубль из коэффициента и степени 10 в C / C ++?

0

Что такое хороший способ создания двойника от коэффициента и мощности 10? Или, другими словами, что является хорошим способом создания двойника от значащего и экспоненты письменного значения научной нотации во время выполнения?

  • 4
    Что не так с coefficient * pow( 10.0, exponent) ?
  • 0
    Для степени два вы можете использовать std :: ldexp , но для степени 10 std::pow - это все, что у вас есть.
Показать ещё 5 комментариев
Теги:
double
scientific-notation

1 ответ

3
Лучший ответ

Не уверен в количественном качестве, но очевидным было бы:

double make_double(double coefficient, int power)
{
  return coefficient * pow(10.0, power);
}
  • 0
    Если вы беспокоитесь о числовом качестве, то для безопасности вы можете написать строку и передать ее в strtod . Точность коэффициента может по-прежнему вызывать проблемы, но с неточностями, которые уже есть в ваших входных данных, вы мало что можете сделать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню