Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
24 / 14 / 2
Регистрация: 20.02.2010
Сообщений: 181
1

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

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

Проблема следующая: в процессе вычисления 32битных чисел возникает переполнение. Причём значительное.
Хотелось бы получить результат 512 битный. Ну или хотя бы 256.
Кто-нибудь сталкивался с этой задачей?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2013, 16:33
Ответы с готовыми решениями:

Усечение разрядности
Пусть есть переменная большой разрядности. Например, uint64_t x;. Зависит ли результат...

определение разрядности
доброго времени суток есть задача Программа ждет ввода числа и в зависимости от количества...

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

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

5
Эксперт С++
2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
17.07.2013, 16:35 2
Да. Результат можно получить любой разрядности.
Гуглить "длинная арифметика". Ну или посмотри на библиотеку GMP......
1
24 / 14 / 2
Регистрация: 20.02.2010
Сообщений: 181
29.07.2013, 20:48  [ТС] 3
Кто знает как реализовать длинную арифметику на int, задействовав все его 32 бита или на int64?
0
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
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
~ Эврика! ~
1254 / 1003 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
29.07.2013, 22:38 5
Цитата Сообщение от broDiaga_cpp Посмотреть сообщение
Кто знает как реализовать длинную арифметику на int, задействовав все его 32 бита или на int64?
Использовать GMP.
0
24 / 14 / 2
Регистрация: 20.02.2010
Сообщений: 181
29.07.2013, 23:03  [ТС] 6
Нет, готовые решения не интересуют.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.07.2013, 23:03

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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