Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/91: Рейтинг темы: голосов - 91, средняя оценка - 4.92
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236

Возведение в степень, отрицательные числа

25.07.2013, 14:13. Показов 19528. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В библиотеке <cmath> есть такая функция pow(A,B) - получаешь результат возведения A в степень B
Решил написать свой pow с положительными числами работает, а вот с отрицательными я не могу понять как правильно,
1. -2 в 2 степени, на яндексе показывает что должно быть -4, обычный калькулятор показывает -4, pow(A,B) из <cmath> показывает 4, мой pow тоже показывает 4
2. -2 в 3 степени, везде показывает -8 (в том числе и у меня)

по поводу первого варианта, так как все же правильно, -2 в 2 степени, 4 или -4?

PS, да, мне стыдно что я не помню школьную математику.. с каждым может случится..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2013, 14:13
Ответы с готовыми решениями:

Возведение из числа степень
Прошу помочь. Вводим любое число n и надо возвести её степень. (притом, должно быть или 2 в степени x, или 3) Например: n=81 &gt;&gt;...

Возведение числа а в степень n
Возведение числа а в степень n ,задача не проста чем , 1&lt;=а&lt;=10 | 1&lt;=n&lt;=7000 Степень может быть 7000 , и тут у меня возникли трудности ,...

Возведение числа в степень!
Хай всем кто на форуме! Помогите с задачей! Надо возвести число в степень #include &lt;iostream&gt; using namespace std; int...

53
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
25.07.2013, 14:15
минус на минус дает плюс
1
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
25.07.2013, 14:21
Четные степени отрицательных чисел - положительные, нечетные - отрицательные.

Хм, ну с Яндексом не проверял (лень, да и фиг знает, чего там наворотили....), но обычный Win Калькулятор показывает -2 в квадрате == 4.
1
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
25.07.2013, 14:46
хехехе товарищи. а 2 в -2.71 сколько?
0
25.07.2013, 14:54

Не по теме:

Цитата Сообщение от Kukurudza Посмотреть сообщение
а 2 в -2.71 сколько?
~ 2-e )

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
25.07.2013, 15:05
2-2.71=0.152830034711509

Добавлено через 3 минуты
Вот еще интересное соотношение:

1.492.87=3.14... (т.е. пи).

Пикантно то, что во времена моей юности чекушка "Московской особой" стоила 1.49 руб, а пол-литра - 2.87 руб.
2
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
25.07.2013, 15:05
ааа пардон, сам поймался отрицательное число в любую степень нельзя возводить?
0
25.07.2013, 15:40

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
Пикантно то, что во времена моей юности чекушка "Московской особой" стоила 1.49 руб, а пол-литра - 2.87 руб.
Сразу вспомнилось "28-70 ого" (с)

0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
25.07.2013, 15:43
Цитата Сообщение от Kukurudza Посмотреть сообщение
ааа пардон, сам поймался отрицательное число в любую степень нельзя возводить?
Любое число можно возводить в любую степень. Даешь ТФКП!
0
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
25.07.2013, 15:45
Цитата Сообщение от Ilot Посмотреть сообщение
Любое число можно возводить в любую степень.
где посмотреть?
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
25.07.2013, 15:48
Любой учебник по теории функций комплексного переменного. А еще проще гугли формулу Муавра.
2
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
25.07.2013, 15:49  [ТС]
Оцените мои программистские навыки:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
long double my_pow(long double number, short int _pow)
 
{
long double temp = 0; // временное значение
unsigned short int counter = 1; // счетчик
temp = number;
    
if (_pow > 0)
{
for ( ; counter < _pow; counter++)
{ temp = temp * number; }
return temp;
}
 
else if (_pow < 0)
{
_pow = 0 - _pow;
 
for ( ; counter < _pow; counter++)
{ temp = temp * number; }
temp = 1 / temp;
return temp;
}
 
else if (_pow == 0)
{ return 1; }
}
или гнилой код?
0
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
25.07.2013, 15:51
в лоб. есть спец. способы по возведению в степень.
pow например
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
25.07.2013, 16:01
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
double my_pow( double mant, double expo )
{
    unsigned int  e;
    long double   ret;
 
    /* special cases 0^x */
    if ( mant == 0. ) {
        if ( expo > 0. ) return 0.;
        else if ( expo == 0. ) return 1.;
        else return 1. / mant;
    }
 
    /* special cases x^n with n is integer */
    if ( expo == (int)(e = (int)expo) ) {
        if ( (int)e < 0 ) {
            e    = -e;
            mant = 1. / mant;
        }
        ret = 1.;
        for ( ; ; ) {
            if ( e & 1 ) ret *= mant;
            if ( (e >>= 1) == 0 ) break;
            mant *= mant;
        }
        return ret;
    }
 
    /* normal case */
    return exp( log( mant ) * expo );
}
// dietlibc
1
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
25.07.2013, 16:02
if(b%2==0)
чесло положительное
else
число отрицательное
b- степень числа a
0
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
25.07.2013, 16:12
Цитата Сообщение от castaway Посмотреть сообщение
( expo == 0. )
нельзя так даблы сравнивать.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
25.07.2013, 16:15
Да что ты говоришь...
0
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
25.07.2013, 16:19
Цитата Сообщение от Kukurudza Посмотреть сообщение
нельзя так даблы сравнивать.
ладно, не стоит так даблы сравнивать.
курните на досуге Цикл for проверка 0
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
25.07.2013, 16:23
VLK, есть отличная формула, которая выводиться на соновании свойств логорифма
https://www.cyberforum.ru/cgi-bin/latex.cgi?c = {a}^{b}
https://www.cyberforum.ru/cgi-bin/latex.cgi?ln(c) = b*ln(a)
https://www.cyberforum.ru/cgi-bin/latex.cgi?c = {e}^{(ln(c))} = {e}^{(b*ln(a))}
итак нам надо найти логорифм натуральный а (используем разложение в ряд Тэйлора), а затем полученное значение умножить на b и затем, опять же используя стандартное разложение в ряд Тэйлора для экспоненты, найти https://www.cyberforum.ru/cgi-bin/latex.cgi?c =  {e}^{(b*ln(a))}

На счёт этого кода
Цитата Сообщение от VLK Посмотреть сообщение
Оцените мои программистские навыки:
long double my_pow(long double number, short int _pow)
{
long double temp = 0; // временное значение
unsigned short int counter = 1; // счетчик
temp = number;
if (_pow > 0)
{
for ( ; counter < _pow; counter++)
{ temp = temp * number; }
return temp;
}
else if (_pow < 0)
{
_pow = 0 - _pow;
for ( ; counter < _pow; counter++)
{ temp = temp * number; }
temp = 1 / temp;
return temp;
}
else if (_pow == 0)
{ return 1; }
}
или гнилой код?
- гнилой код (прошу без обид)
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
25.07.2013, 16:37
Цитата Сообщение от Kukurudza Посмотреть сообщение
ладно, не стоит так даблы сравнивать.
курните на досуге Цикл for проверка 0
Ты плохо понимаешь о чем говоришь. Вопрос обсуждаемый в теме по ссылке никак не относится к этому сравнению.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.07.2013, 16:37
Помогаю со студенческими работами здесь

Возведение числа в степень n-1
Есть формула {(-1)}^{n-1}*{3}^{n-1} , n увеличивается циклом на 1. Как записать числа в степень n-1 без пользов. и стандартных функций??...

Возведение числа n в степень m.
Написать программу - возведение числа n в m-ю степень. Входные данные поступают с клавиатуры. Результат выводится на экран.

Возведение числа в степень
Помогите написать программу, возводящщую число M в степень N (-10&lt;M&lt;10, 0&lt;N&lt;10 - проверить выполнение данных условий)

Рекурсивное возведение в степень числа
Рекурсивная функция,которая принимает 2 параметра:первый-число,второй-степень в которую нужно возвести число.Всё просто.Но до моей тупой...

Возведение числа в степень через for
Нужна программа для возведения числа в степень через for


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru