С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/120: Рейтинг темы: голосов - 120, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22

Синтаксис C++ - как возвести заданное число в заданную степень

28.12.2015, 20:40. Показов 25201. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте ! Такой вопрос : почему при выполнении кода
C++
1
2
3
int a = 0;
    int b;
    b = a ^ 0;
получается, что b равно нулю?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2015, 20:40
Ответы с готовыми решениями:

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

Введённое пользователем число возвести в заданную степень и вывести на консоль (решить с помощью массивов)
Привет всем ребят проше прошения еще раз не могли бы помоч вот снизу код не получаеться вывести в ответи веденное пользователем число в...

Возвести заданное число A в степень n
Дано целое число а и натуральное (целое неотрица¬тельное) число n. Вычислить а в степени n. Другими словами, не¬обходимо составить...

15
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
28.12.2015, 20:56
В с++ это не степень
0
338 / 67 / 37
Регистрация: 22.12.2010
Сообщений: 138
28.12.2015, 21:00
Потому что это xor (оно же исключающее "или").
Попробуйте написать a = 10, b = 10^3 ->получите 9.

Подозреваю, что Вы хотели возвести в степень. Для этого нужно подключить <math.h> и воспользоваться функцией pow(x,y). При этом pow(0,0) выдаст Вам 1, что, разумеется, совсем неверно.
1
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
28.12.2015, 21:03
теория
http://www.c-cpp.ru/books/bitovye-operatory
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
28.12.2015, 21:30
Цитата Сообщение от DocC Посмотреть сообщение
При этом pow(0,0) выдаст Вам 1, что, разумеется, совсем неверно.
Ну почему же "разумеется, совсем"? https://www.cyberforum.ru/cgi-bin/latex.cgi?\lim_{x\rightarrow +0} x^x=1
0
 Аватар для Alexander Bakay
100 / 52 / 39
Регистрация: 15.12.2015
Сообщений: 329
28.12.2015, 21:48
ээээ.. странный какой то немного код ваш)) так не пишется в C++ степень,правильно так:
C++
1
2
3
int a = 0;
    int b;
    b = pow(a,0);
и не забудьте в библиотеки добавить:
C++
1
#include <math.h>
для функционирования pow
0
338 / 67 / 37
Регистрация: 22.12.2010
Сообщений: 138
28.12.2015, 22:12
zer0mail, ну предел-то равен той самой экспоненте в нулевой степени. А вот что делать с неустранимым разрывом в центре координат?
0
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22
28.12.2015, 22:31  [ТС]
Цитата Сообщение от DocC Посмотреть сообщение
Подозреваю, что Вы хотели возвести в степень. .
Да, разумеется, я это имел в виду, уже понял, что ошибся. Но вопрос остаётся, почему это единица, хотя с математической точки зрения - неопределённость?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.12.2015, 22:46
Лучший ответ Сообщение было отмечено 1-09Mix как решение

Решение

Вот что пишет сишный Стандарт про pow:
The pow functions compute x raised to the power y. A domain error occurs if x is finite
and negative and y is finite and not an integer value. A domain error may occur if x is
zero and y is less than or equal to zero. A range error may occur.
Т.е. для случая x=y=0 ошибка допустимых значений может возникать, но не обязана. Оставлено на откуп реализациям.
А вот если отрицательное конечное число попытаться возвести в нецелую степень, то ошибка обязана возникнуть.

C
1
2
3
4
5
6
7
8
9
10
11
12
#include <math.h>
#include <stdio.h>
#include <errno.h>
 
int main() {
 
    pow(0, 0);
    printf( "errno=%d\n", errno );
 
    pow(-1, -0.5);
    printf( "errno=%d\n", errno );
}
http://ideone.com/rddIde
1
338 / 67 / 37
Регистрация: 22.12.2010
Сообщений: 138
28.12.2015, 22:47
1-09Mix, ну так уж принято

попробуйте протестировать это выражение (0+0*i) ^ (0+0*i)
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cmath>
#include <complex>
 
using std::cout;
using std::endl;
using std::complex;
int main() {
  cout << pow(complex<double>(0),complex<double>(0)) << endl;
  return 0;
}
p.s. Ну и про стандарты можете почитать (конкретно о pow на 229стр.)
http://www.open-std.org/jtc1/s... /n1256.pdf
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.12.2015, 22:48
Цитата Сообщение от Alexander Bakay Посмотреть сообщение
и не забудьте в библиотеки добавить:
только это называется заголовочный файл. И для плюсов рекомендуется <cmath>.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
28.12.2015, 22:49
Цитата Сообщение от Alexander Bakay Посмотреть сообщение
пишется в C++
Ну если уж говорить о том, как пишется в C++, то и заголовки надо плюсовые писать. То есть, не
C++
1
#include <math.h>
а
C++
1
#include <cmath>
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.12.2015, 22:53
Цитата Сообщение от DocC Посмотреть сообщение
попробуйте протестировать это выражение (0+0*i) ^ (0+0*i)
Из плюсового Стандарта про степень для комплексных величин:
The value returned for pow(0,0) is implementation-defined.
Так что и тут оставлено на откуп реализациям. Разные компиляторы могут дать разные результаты:
http://melpon.org/wandbox/perm... j1HAZ6kQGn (gcc)
http://melpon.org/wandbox/perm... d6vXjemPNt (clang)
0
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22
28.12.2015, 23:19  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Оставлено на откуп реализациям.
А что под реализацией что понимается? Только конкретный компилятор?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.12.2015, 23:20
1-09Mix, да, компилятор.
0
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22
28.12.2015, 23:24  [ТС]
Tulosba, Спасибо, разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.12.2015, 23:24
Помогаю со студенческими работами здесь

Возвести заданное вещественное число α в целую степень k
Возвести заданное вещественное число α в целую степень k, не пользуясь операцией возведения в степень и не производя(k-1)умножений и...

Возвести заданное число в целую степень без использования функции pow (цикл while)
Возвести заданное число в целую степень без использования функции pow

Возвести первое число в квадрат, а второе возвести в четвертую степень
С клавиатуры вводится два трёхзначных числа. Возвести первое число в квадрат, а второе возвести в четвертую степень, если хотя бы у одного...

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

Как возвести число 3 в n-ую степень
console.write(&quot;a=&quot;); а вот какой лучше цикл for или while do или while я не знаю и как mathpow использовать тоже не знаю,точнее все под...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru