Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
#1

Функция pow() - C++

14.11.2012, 23:56. Просмотров 707. Ответов 3
Метки нет (Все метки)

Здравствуйте!Хотелось спросить у опытных программистов - скажите пожалуйста, как функция pow() считает число в степень?Она же не в лоб, как я понимаю, умножает n раз число, возводимое в степень...Использует ли функция pow() бинарное возведение в степень, если число целое?Или какие ещё виды оптимизаций использует эта функция?

Очень интересно узнать!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 23:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция pow() (C++):

Функция pow - C++
#include <iostream> #include <cmath> using namespace::std; double pow(double x, double y) { cin >> x >> y; if...

Функция pow и график - C++
Всем привет! Пишу программу, которая аппроксимирует функцию разной степенью полинома и по полученному графику делает прогноз. Так вот, в...

Срочно функция pow(a,n) - C++
По первому условию если идти то всегда будет '1' почему не пойму. #include <stdafx.h> #include <iostream> #include <windows.h> ...

Функция Floor и Pow - C++
Народ,два дня в C++ только я... Задание: Создать функцию floorQubicRoot, находящую наибольшее целое число, которое не превышает...

Функция pow() перегрузки - C++
нужно найти расстояние между двумя точками L=((x2-x1)^2+(y2-y1)^2)^0.5 Написал 3 раза pow() - ругается. Сделал функцией - ругается на...

Рекурсивная функция pow(x, n) - C++
Описать рекурсивную функцию pow (x, n) от действительного х (х != 0) и целого n, которая вычисляет величину x n по формуле: формулу я...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13221 / 7493 / 845
Регистрация: 27.09.2012
Сообщений: 18,413
Записей в блоге: 3
Завершенные тесты: 1
15.11.2012, 00:05 #2
Найдено в файле math.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
 template<class _Ty> inline
        _Ty _Pow_int(_Ty _X, int _Y)
        {unsigned int _N;
        if (_Y >= 0)
                _N = (unsigned int)_Y;
        else
                _N = (unsigned int)(-_Y);
        for (_Ty _Z = _Ty(1); ; _X *= _X)
                {if ((_N & 1) != 0)
                        _Z *= _X;
                if ((_N >>= 1) == 0)
                        return (_Y < 0 ? _Ty(1) / _Z : _Z); }}
1
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
15.11.2012, 00:34  [ТС] #3
Croessmah , спасибо большое за вырезку из файла.Но не могли вы пояснить мне работу этого куска кода, если Вам не составит труда?А то я с шаблонами не совсем(=вообще) не знаком.

Заранее спасибо!
0
Croessmah
Эксперт CЭксперт С++
13221 / 7493 / 845
Регистрация: 27.09.2012
Сообщений: 18,413
Записей в блоге: 3
Завершенные тесты: 1
15.11.2012, 00:38 #4
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
А то я с шаблонами не совсем(=вообще) не знаком.
не обращайте внимания на шаблон. Поставьте вместо _Ty везде int(или другой тип данных)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 00:38
Привет! Вот еще темы с ответами:

Функция pow. Преобразование типов - C++
Есть два вопроса: 1) в докуметации нашёл описание, что pow(x,y) возводит x в степень y и притом входные параметры должны быть или...

функция pow для int - C++
собственно говоря проблема такая - мне нужно возвести целое число в целую степень. Например я пишу так double f(int x,int y) { ...

не подключаеться функция возведениЯ в степень pow - C++
#include &lt;math.h&gt; L=sqrt(pow(x-x0)+pow(y-y0)); Почему не подключаеться функция возведениЯ в степень pow, кто...

Функция pow(x,y) не работает с большими числами? - C++
Добрый день Подскажите пожалуйста как решить даную проблему: например pow(111111111, 2) -&gt; -2147483648 Не хотелось бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.11.2012, 00:38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru