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

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

Войти
Регистрация
Восстановить пароль
 
broDiaga_cpp
22 / 12 / 1
Регистрация: 20.02.2010
Сообщений: 180
#1

Увеличение разрядности - C++

17.07.2013, 16:33. Просмотров 539. Ответов 5
Метки нет (Все метки)

Проблема следующая: в процессе вычисления 32битных чисел возникает переполнение. Причём значительное.
Хотелось бы получить результат 512 битный. Ну или хотя бы 256.
Кто-нибудь сталкивался с этой задачей?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2013, 16:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Увеличение разрядности (C++):

определение разрядности - C++
доброго времени суток есть задача Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их...

Усечение разрядности - C++
Пусть есть переменная большой разрядности. Например, uint64_t x;. Зависит ли результат y=(uint32_t)x; от порядка байт? То есть...

Число заданной разрядности - C++
Нет ли какого-то шаблона, позволяющего получить число заданной аргументом этого шаблона разрядности? Что-то вроде...

Перевод чисел любой разрядности - C++
День добрый. Прошу помочь алгоритмом перевода чисел из одной системы счисления в другую - в данном случае из 8 в 10 и обратно - чисел...

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

Создание числа из разрядности (простейший способ) - C++
Здравствуйте. Имеется задача. Элементарная, на циклы\ветвления: Определите, сколько слагаемых надо взять в сумме 1+2+3..., чтобы получить...

5
CheshireCat
Эксперт С++
2893 / 1242 / 78
Регистрация: 27.05.2008
Сообщений: 3,380
17.07.2013, 16:35 #2
Да. Результат можно получить любой разрядности.
Гуглить "длинная арифметика". Ну или посмотри на библиотеку GMP......
1
broDiaga_cpp
22 / 12 / 1
Регистрация: 20.02.2010
Сообщений: 180
29.07.2013, 20:48  [ТС] #3
Кто знает как реализовать длинную арифметику на int, задействовав все его 32 бита или на int64?
0
eocron
Кактус
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
29.07.2013, 21:25 #4
Все его 32 бита задействовать у Вас вряд ли выйдет (очень сложно), а вот со стандартной разрядностью которую человек воспринимает - проще некуда. int вмещает примерно 2млрд., вам же нужно учитывать такую фишку как переполнение при перемножении - 10 000 * 10 000 = 100 000 000, 100 000 * 100 000 = 10 000 000 000 (10 млрд - переполнение)

Значит, основание максимальное для Int 10 000, для лонг инта - 1 млрд.
Все алгоритмы школьной программы математики, только вместо 10 как в школе, у Вас будет 10 000 или 1 млрд.
Для умножения есть более быстрые алгоритмы (не такие тривиальные)
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
29.07.2013, 22:38 #5
Цитата Сообщение от broDiaga_cpp Посмотреть сообщение
Кто знает как реализовать длинную арифметику на int, задействовав все его 32 бита или на int64?
Использовать GMP.
0
broDiaga_cpp
22 / 12 / 1
Регистрация: 20.02.2010
Сообщений: 180
29.07.2013, 23:03  [ТС] #6
Нет, готовые решения не интересуют.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 23:03
Привет! Вот еще темы с ответами:

Подскажите знаковые целые заданной разрядности - C++
Вот есть uint16_t. u означает unsigned? А как выглядит знаковый аналог? int16_t не помогло. А нет, он на signed в паре с int16_t ругался.

Влияние разрядности процессора на количество операций - C++
Здравствуйте. Объясните по подробней ответ на вопрос: сколько операций совершает процессор при сложении двух чисел, возведении их в степень...

Какая из двух частей числа разрядности больше - C++
Доброе время суток, ребята, подскажите как решить задачу! Проверить какая из двух частей числа любой разрядности больше.

Рекурсивная функция вычисления разрядности числа в двоичном виде - C++
Есть неработающий код: #include <iostream> using namespace std; unsigned char capacity (unsigned char number) { ...


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

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

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