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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.63
хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 11.10.2012
Сообщений: 118
#1

Как возвести в степень - C++

18.10.2012, 09:25. Просмотров 3000. Ответов 7
Метки нет (Все метки)

Здравствуйте, есть у меня задание возвести число в степень
Название: Олимпиада.png
Просмотров: 937

Размер: 697 байт
Допустим 2 в 5, сначала я попробовал так
C++
1
int A = 2*2*2*2*2;
Но компилятор ругается, пишет что "переполнение при вычеслении целочисленного значения"
И тут я понял что есть специальный знак в С++, неподскажете мне его?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 09:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как возвести в степень (C++):

Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++. - C++
Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.

Если введенное число отрицательное и четное, то возвести его в 3 степень, иначе возвести в квадрат - C++
Ввести целое число В. Если В отрицательное и четное, то возвести его в 3 степень, иначе возвести в квадрат

Как возвести текст в степень? - C++
Мне надо возвести текст в степень(для программы с использованием RSA), подскажите пожалуйста, как это можно сделать?

Как int возвести в степень? - C++
Как int возвести в степень? и почему в стандартной pow, нет параметра int?

Как возвести 2 в большую степень? - C++
Получить последовательность десятичных цифр числа 2^n, в которой n-целое, ввести с клавиатуры. Задачу решить в частности при n=200.

Как возвести число в степень - C++
Как возвести число в степень ???

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13132 / 7395 / 828
Регистрация: 27.09.2012
Сообщений: 18,226
Записей в блоге: 3
Завершенные тесты: 1
18.10.2012, 09:42 #2
а какое число и в какую степень?
В math.h есть функция pow
хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 11.10.2012
Сообщений: 118
18.10.2012, 09:50  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
а какое число и в какую степень?
В math.h есть функция pow
да всё разобрался спасибо тебе,
если ещё кто непонял, я тут по форуму полазил и
в библиотеке
C++
1
#include <cmath>
есть функция
C++
1
pow(a,b)
где в pow - запрограмирована свойство возведения в степень
a - это основное число, допустим 2
b - это цифра степени, допустим 5
можно ещё записать так
C++
1
pow(a,5)
или так
C++
1
pow(2,5)
-=ЮрА=-
Заблокирован
Автор FAQ
18.10.2012, 14:23 #4
хАЛЕКСЕЙх, по твоему заданию можно заключить что первое число А равняется А7 в 16-ричной форме записи тобишь 167 а второе число В = 251 в восьмиричной т.е 169 и никакого отношения к возведению как по мне твоё задание не имеет. Тебе нужен ИМХО перевод в десятичную из разных систем счисления.
На счёт переполнения и прочего - степень легко реализуется через цикл, а чтобы переполнения не было, нужно давать соотв тип твоим параметрам

К примеру для
C++
1
double A = 2*2*2*2*2;
переполнения не будет
хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 11.10.2012
Сообщений: 118
18.10.2012, 14:33  [ТС] #5
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
по твоему заданию можно заключить что первое число А равняется А7 в 16-ричной форме записи тобишь 167 а второе число В = 251 в восьмиричной т.е 169 и никакого отношения к возведению как по мне твоё задание не имеет
я сначала потумал что это степень, а потом дочитал до конца задание
и там было 4 варианта ответов, и в конце маленькие цифры(2, 2, 8, 16)
потом подумал, потом ещё подумал, а потом посмотрел на варианты ответов
вот такой, 10010100 и снизу 2, и я допёр что это двоичная форма

Кстати, я сделал это задание так что можно мне больше не помогать,
За этот совет
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
double A = 2*2*2*2*2;
особенное спасибо, теперь буду знать.
Всем спасибо
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
18.10.2012, 16:06 #6
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
int A = 2*2*2*2*2;
Интересно, почему тут переполнение, результат ведь всего 32?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
18.10.2012, 16:13 #7
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
Здравствуйте, есть у меня задание возвести число в степень
Вложение 191963
Допустим 2 в 5, сначала я попробовал так
C++
1
int A = 2*2*2*2*2;
Но компилятор ругается, пишет что "переполнение при вычеслении целочисленного значения"
И тут я понял что есть специальный знак в С++, неподскажете мне его?
Во-первых такого оператора нет, это не бейсик, а во-вторых даже если бы он и был, от переполнения оператор не спасёт, так как если наступает переполнение, то результат больше типа, значит переполнения не будет ровно в двух случаях:
1. При не правильном результате.
2. Если сразу выбрать тип большей разрядности.
-=ЮрА=-
18.10.2012, 16:14     Как возвести в степень
  #8

Не по теме:

Цитата Сообщение от doctor_lecter Посмотреть сообщение
Интересно, почему тут переполнение, результат ведь всего 32?
- предполагаю, что автор вначал возводил в степень по принципу число и основание системы счисления, т.е 251^8. Я не стал заморачиваться на этот момент, т.к. в любом случае для возведения в степень оптимальней всего использовать дабл либо ещё более длинные типы...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2012, 16:14
Привет! Вот еще темы с ответами:

Как возвести переменную в степень? - C++
Здравствуйте! Я написал программу по нахождению переменной, но потом мне надо извлечь из неё корень, ну или просто возвести в степень 1/2,...

Синтаксис C++ - как возвести заданное число в заданную степень - C++
Здравствуйте ! Такой вопрос : почему при выполнении кода int a = 0; int b; b = a ^ 0; получается, что b равно нулю?

Как возвести число в целочисленную степень и взять корень N-ной степени? - C++
извиняюсь, за ламерский вопрос, но как в C++ возвести число в целочисленную степень и взять корень N-ной степени??? Заранее благодарен!

Возвести -1 в степень - C++
Как возвести -1 в степень? Пишу так: pow(-1,(n-1)). Выводит ошибку: неоднозначный вызов перегруженной функции.


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

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

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