Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 16.11.2014
Сообщений: 85
1

Функция pow(x,y) не работает с большими числами?

27.11.2016, 02:06. Показов 2043. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день

Подскажите пожалуйста как решить даную проблему:
например pow(111111111, 2) -> -2147483648

Не хотелось бы использывать и подключать boost или тд. эсли возможно обойти без них.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2016, 02:06
Ответы с готовыми решениями:

Функция вычисления факториала, неправильно работает с большими числами
Программа. Описать рекурсивную функцию вычисления n! - факториала числа n, основанную на...

Метод шифрования RSA не работает с большими числами
Реализую метод шифрования RSA. С небольшими числами работает все нормально, а вот с большими это...

ЭЦП Эль Гамаля не работает с большими числами (Biginteger)
Делал все как в примере с википедии. Все хорошо работает на тестовых данных из википедии где...

Почему функция pow работает без подключения <cmath>?
Собственно вопрос в заголовке. Все работает #include &lt;iostream&gt; using namespace std; double...

3
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
27.11.2016, 02:17 2
Цитата Сообщение от Lokki23 Посмотреть сообщение
как решить даную проблему
1. Написать свою длинную арифметику и функцию pow.
2. Подключить стороннюю библиотеку и написать функцию pow для неё.
1
74 / 71 / 67
Регистрация: 18.09.2015
Сообщений: 234
27.11.2016, 02:33 3
Лучший ответ Сообщение было отмечено Lokki23 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
void main()
{
    const int OVER = 100000000;
 
    int a = pow(OVER,2);
    double b = pow(OVER, 2);
 
    cout << a << endl;
    cout << b << endl;
}
работай с экспоненциальной формой
1
0 / 0 / 1
Регистрация: 16.11.2014
Сообщений: 85
27.11.2016, 02:38  [ТС] 4
Спасибо за ответы

Я ошибся pow(111111111, 2) возвращает верный ответ) если использовать double)
По ошибке передал аргументом int)
0
27.11.2016, 02:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2016, 02:38
Помогаю со студенческими работами здесь

Работа с большими числами
Писал-с! Чертовски интересная задача. Делать надо всё с нуля. Но ведь и овчинка выделки...

Си математика с большими числами
Добрый день. Стоит задача программировать DDS. Есть формула получения кода частоты Fout*2^28....

Проблемы с большими числами
Здравствуйте. Решил написать калькулятор для перевода чисел из одной системы счисления в другую....

Работа с большими числами
Доброго времени суток, уважаемые форумчане! Собственно задание которое я сделал совсем не сложное,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru