kkate4ka
@kkate4ka
глупенькая девочка

Правильный ли результат?

Алгоритм бинарного возведения в степень для длинных чисел.

double binpow (double number, long int power)
{
	double res = 1;
	while (power)
		if (power & 1)
		{
			res *= number;
			--power;
		}
		else 
		{
			number *= number;
			power >>= 1;
		}
		std::cout << "Result: " << res;
	}

int main()
{
	double a;
	long int n;
	std::cout << "Input number: ";
	std::cin >> a;
	std::cout << "Input power: ";
	std::cin >> n;

	binpow (a, n);
}


Результат очень странный выдает, мой калькулятор считает эти числа без е, а тут с е. Не могу понять что не так..

5c44cfa212ab1113360443.jpeg
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
vt4a2h
@vt4a2h Куратор тега C++
Senior software engineer (C++/Qt/boost)
Всё правильно. Это называется экспоненциальная запись.

Если вам не нравится такой формат вывода, то можете использовать std::fixed:
std::cout << "Result: " << std::fixed << res;

Предугадывая следующий вопрос, точность можно регулировать с помощью std::setprecision(n).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы