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

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

Войти
Регистрация
Восстановить пароль
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

Какие существуют способы возведения в степень - C++

04.10.2012, 23:12. Просмотров 1053. Ответов 6
Метки нет (Все метки)

Почему не работает? (про функцию pow из math.h можете мне не говорить, я хочу узнать другие способы возведения в степень)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main()
{
    int x, y, z;
    x = 2;
    y = 3;
    z = x^y;
 
    cout << z;
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2012, 23:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какие существуют способы возведения в степень (C++):

Какие существуют способы выделения памяти для переменных? - C++
А какие существуют способы выделять память для переменных?

Какие способы самые удобные/рациональные способы регистрации ошибок есть? - C++
Задался вопросом, а как регистрировать ошибки? При этом чтобы и выглядело это красиво, и понятно было, и компактно. Заводить переменную...

Возведения в степень - C++
Народ нужна помощь так как только, сегодня утром начал учить С++ сразу же возникли вопросы Например у меня есть последовательность чисел...

Класс возведения в степень - C++
Добрый день всем. Тут зашел в тупик. Класс с функцией-членом возведения числа в степень путем перемножения друг на друга (я хочу добавить и...

программа возведения в степень - C++
Друзья, я &quot;начинающий&quot; в СИ и поэтому столкнулся с такой проблемой: мой компилятор &quot;Miracle C&quot; Неправильно выполняет код, взятый из...

Функция возведения в степень - C++
Добрый день. Ребята, помогите решить проблему. Написал функцию для вычисления действительных корней кубического уравнения. возникает...

6
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
04.10.2012, 23:36 #2
Потому что ^ - это не возведение в степень, а ксор
0
ValeryS
Модератор
6749 / 5158 / 493
Регистрация: 14.02.2011
Сообщений: 17,333
04.10.2012, 23:37 #3
Цитата Сообщение от aleksand Посмотреть сообщение
Почему не работает?
Цитата Сообщение от aleksand Посмотреть сообщение
x = 2;
y = 3;
z = x^y;
очень даже работает z =1
0
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
04.10.2012, 23:38  [ТС] #4
Цитата Сообщение от I.M. Посмотреть сообщение
Потому что ^ - это не возведение в степень, а ксор
А как возвести в степень? Подскажите пожалуйста
0
ValeryS
Модератор
6749 / 5158 / 493
Регистрация: 14.02.2011
Сообщений: 17,333
04.10.2012, 23:39 #5
Цитата Сообщение от aleksand Посмотреть сообщение
(про функцию pow из math.h можете мне не говорить, я хочу узнать другие способы возведения в степень)
разве только умножением

али через логарифмы Зело круто
0
Alexxx7
98 / 34 / 5
Регистрация: 24.04.2012
Сообщений: 151
05.10.2012, 11:26 #6
Думаю так будет красивей
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main()
{
    int x, y, z;
    x = 2;
    y = 16;
    z = x;
    while(--y) z*=x;
    cout << z;
 
    system("pause");
    return 0;
}
0
taras atavin
3571 / 1755 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
05.10.2012, 12:22 #7
Существует целая степень и рациональная. Что такое http://www.cyberforum.ru/cgi-bin/latex.cgi?(-2)^3? Если это куб, то можно посчитать так: http://www.cyberforum.ru/cgi-bin/latex.cgi?(-2)^3=(-2)*(-2)*(-2)=-8, то есть целая степень существует и для отрицательных чисел. Теперь что такое http://www.cyberforum.ru/cgi-bin/latex.cgi?2^{2.5}? Можно привести к целой степени и корню целой степени: http://www.cyberforum.ru/cgi-bin/latex.cgi?2^{2.5}=sqrt{2^5}={sqrt2}^5=\sqrt[4]{2^{10}}={\sqrt[4]{2}}^{10}, но во-первых так можно не со всеми показателями. А во-вторых что такое http://www.cyberforum.ru/cgi-bin/latex.cgi?(-2)^{2.5}? http://www.cyberforum.ru/cgi-bin/latex.cgi?(-2)^{2.5}=sqrt{-2}^5=(sqrt{2}*sqrt{-1})^5=(sqrt{2}i)^5=sqrt{2}^5i и http://www.cyberforum.ru/cgi-bin/latex.cgi?(-2)^{2.5}=sqrt{-2^5}=sqrt{2^5}*sqrt{-1}=(sqrt{2}i)^5=sqrt{2^5}i, но http://www.cyberforum.ru/cgi-bin/latex.cgi?{-2}^{2.5}=\sqrt[4]{(-2)^{10}} и даже http://www.cyberforum.ru/cgi-bin/latex.cgi?{-2}^{2.5}={\sqrt[4]{-2}}^{10}. Первые два результата равны друг другу, но не третьему результату. Получается, что рациональная степень отрицательных чисел вообще не определена. Какую из степеней подразумеваешь? Целую, или рациональную? Можно, конечно, учесть тип второго операнда. Но как быть с корнями? http://www.cyberforum.ru/cgi-bin/latex.cgi?a^{1/n}=\sqrt[n]{a}. Если ты имеешь ввиду корень, то он определён и для отрицательных чисел: http://www.cyberforum.ru/cgi-bin/latex.cgi?(-2)^{1/2}=\sqrt[2]{-2}=\sqrt[2]{2}*\sqrt[2]{-1}=\sqrt[2]{2}i. Поэтому стандартного оператора возведения в степень в нормальных языках вообще не бывает, это не бейсик.

Добавлено через 23 минуты
Бывают функции, в том числе, показательные. Например, exp. Но не бывает таких операторов. Фокус в том, что функций, в том числе, не стандартных, может быть сколько угодно на любой вкус, что имеешь ввиду, то и реализуй, а количество операторов ограничено.
0
05.10.2012, 12:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2012, 12:22
Привет! Вот еще темы с ответами:

Функция возведения в степень. - C++
написал библиотеку для вычисления степени чисел.некорректно работает при возвращении переменной из step.h в main.cpp и переводе в другую. ...

Написать функцию возведения в степень - C++
Написать программу, которая выводит на печать значения 1^1, 2^2, 3^3, 4^4, 5^5 Степени чисел должны вычисляться в отдельной функции....

Рекурсивная функция возведения в степень - C++
Мое задание: Вычислить y = x^n(икс в степени n) по следующему правилу: y = ( x^n/2 )^2, если n четное и y = x * y^(n–1), если n...

Перегрузить функцию возведения в степень - C++
Перегрузить функцию stepen(), в которой число x будет возводиться в степень у: а) x – целое, у – дробное; б) x – целое, у – целое; в)...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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