Как поднять число до мощности?
2^1
2^2
2^3
и т.д...
Как поднять число до мощности?
2^1
2^2
2^3
и т.д...
 pow() в cmath библиотеке. Больше информации здесь. Не забудьте поставить #include<cmath> вверху файла.
 std::pow в заголовке <cmath> имеет следующие перегрузки:
pow(float, float);
pow(float, int);
pow(double, double); // taken over from C
pow(double, int);
pow(long double, long double);
pow(long double, int);
 Теперь вы не можете просто сделать
pow(2, N)
 с N, являющимся int, потому что он не знает, какую из версий float, double или long double он должен принять, и вы получите ошибку неоднозначности. Всем трем потребуется преобразование из int в число с плавающей запятой, и все три одинаково дороги!
 Поэтому обязательно наберите первый аргумент, чтобы он идеально совпадал с одним из этих трех. Я обычно использую double
pow(2.0, N)
 Какой-то адвокат дерьмо от меня снова. Я сам часто попадал в эту ловушку, поэтому собираюсь предупредить вас об этом.
В С++ оператор "^" является поразрядным ИЛИ. Он не работает для повышения мощности. Х < n - левый сдвиг двоичного числа, который совпадает с умножением x на 2 n раз и может использоваться только при повышении 2 до мощности. Функция POW является математической функцией, которая будет работать в целом.
Используйте функцию pow (x, y): См. здесь
Просто включите math.h, и вы все настроены.
Вы должны иметь возможность использовать обычные методы C в математике.
 #include <cmath>
 pow(2,3)
 если вы используете unix-подобную систему, man cmath
Это то, о чем вы спрашиваете?
Sujal
Хотя pow( base, exp ) является отличным предложением, имейте в виду, что он обычно работает с плавающей точкой.
Это может быть или не быть тем, что вы хотите: в некоторых системах простой цикл, умножающийся на накопитель, будет быстрее для целых типов.
И для квадрата, вы можете просто умножить числа вместе самостоятельно, с плавающей точкой или целое число; это действительно не уменьшает читаемость (IMHO), и вы избегаете служебных расходов функции вызова функции.
У меня недостаточно репутации для комментариев, но если вам нравится работать с QT, у них есть своя версия.
    #include <QtCore/qmath.h>
    qPow(x, y); // returns x raised to the y power.
Или, если вы не используете QT, cmath имеет в основном одно и то же.
    #include <cmath>
    double x = 5, y = 7; //As an example, 5 ^ 7 = 78125
    pow(x, y); //Should return this: 78125
		#include <iostream>
#include <conio.h>
using namespace std;
double raiseToPow(double ,int) //raiseToPow variable of type double which takes arguments (double, int)
void main()
{
    double x; //initializing the variable x and i 
    int i;
    cout<<"please enter the number"; 
    cin>>x;
    cout<<"plese enter the integer power that you want this number raised to";
    cin>>i;
    cout<<x<<"raise to power"<<i<<"is equal to"<<raiseToPow(x,i);
}
//определение функции raiseToPower
double raiseToPow(double x, int power)
{
    double result;
    int i;
    result =1.0;
    for (i=1, i<=power;i++)
    {
        result = result*x;
    }
    return(result);
}
		Это значение pow или powf в <math.h>
В Visual Basic или Python нет специального инфиксного оператора
pow(2.0,1.0)
pow(2.0,2.0)
pow(2.0,3.0)
Ваш исходный заголовок вопроса вводит в заблуждение. Для просто квадрата используйте 2*2.
 Во многих ответах предложены pow() или аналогичные альтернативы или их собственные реализации. Однако, учитывая примеры (2^1, 2^2 и 2^3) в вашем вопросе, я бы догадался, нужно ли вам повышать только 2 до целой степени. Если это так, я бы предложил вам использовать 1 << n для 2^n.
если вы хотите иметь дело только с base_2, тогда я рекомендую использовать левый оператор сдвига << вместо математической библиотеки.
образец кода:
int exp = 16;
for(int base_2 = 1; base_2 < (1 << exp); (base_2 <<= 1)){
std::cout << base_2 << std::endl;
}
 образец вывода:
1   2   4   8   16  32  64  128  256  512  1024  2048  4096  8192  16384  32768
		 Обратите внимание, что использование pow(x,y) менее эффективно, чем x*x*x y раз, как показано здесь и дан ответ здесь fooobar.com/questions/60726/....
 Так что, если вы хотите повысить эффективность, используйте x*x*x.
int power (int i, int ow) // works only for ow >= 1
{ // but does not require <cmath> library!=)
    if (ow > 1)
    {
         i = i * power (i, ow - 1);
    }
    return i;
}
cout << power(6,7); //you can enter variables here
		Я использую библиотеку cmath или math.h, чтобы использовать библиотечные функции pow(), которые заботятся о полномочиях
#include<iostream>
#include<cmath>
int main()
{
    double number,power, result;
    cout<<"\nEnter the number to raise to power: ";
    cin>>number;
    cout<<"\nEnter the power to raise to: ";
    cin>>power;
    result = pow(number,power);
    cout<<"\n"<< number <<"^"<< power<<" = "<< result;
    return 0;
}
		 Сначала добавьте #include <cmath> затем вы можете использовать метод  pow в вашем коде, например:
pow(3.5, 3);
 Какой 3,5 является базовым, а 3 - эксп