возведение в степень С++
я возвел число в степень с помощью: ^
a^b
посчтитает ли программа правильно?
я знаю, что нужно pow использовать, но если ^ использовать, будет считать норм или нет?
я возвел число в степень с помощью: ^
a^b
посчтитает ли программа правильно?
я знаю, что нужно pow использовать, но если ^ использовать, будет считать норм или нет?
Нет, не "норм", в C++ в степень можно возвести только pow.
Смотрите мой пример на C++ (Builder 6):
//---------------------------------------------------------------------------
#include
#include
#include
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int a;
int b;
int c;
for(int i=0;i<1;i++)
{
cout<<"vvedite chislo: ";
cin>>a;
cout<<"vvedite stepen: ";
cin>>b;
c=pow(a,b);
cout<
i-=1;
}
return 0;
}
А вот что будет в вашем случае (^ - это побитовое исключающее или (XOR)):
//---------------------------------------------------------------------------
#include
#include
#include
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int a;
int b;
int c;
for(int i=0;i<1;i++)
{
cout<<"vvedite chislo: ";
cin>>a;
cout<<"vvedite stepen: ";
cin>>b;
c=a^b;
cout<
i-=1;
}
return 0;
}
Теперь поняли свою ошибку?
Почитайте статью на википедии для саморазвития: https://ru.wikipedia.org/wiki/Операторы_в_C_и_C++
В С++ операция ^ - это исключающее ИЛИ (XOR).
Где написано, что степень в плюсах именно так берётся? Нельзя же идти в чужой монастырь со своими рулез.