|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
||||||
Посоветуйте функции для арифметики больших целых чисел06.06.2024, 22:40. Показов 10853. Ответов 166
Метки нет (Все метки)
Сегодня начал писать свою библиотеку для работы с большими целыми числами.
Пока что реализовал следующие функции:
Что еще можете посоветовать? Какие важные функции я упустил?
1
|
||||||
| 06.06.2024, 22:40 | |
|
Ответы с готовыми решениями:
166
Ограничения VBA в реализации арифметики длинных (больших) чисел
|
|
622 / 380 / 67
Регистрация: 09.03.2016
Сообщений: 4,113
|
|
| 10.06.2024, 00:59 | |
|
0
|
|
| 10.06.2024, 01:07 | ||||||
|
Не по теме: Код полезный не хотите ли?
Что то я его не вижу больше.
0
|
||||||
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
||||||||
| 10.06.2024, 01:13 [ТС] | ||||||||
|
TheCalligrapher, если я использую семейство std::stof, std::stod, std::stold, то какова вероятность, что точка в строке может не распознаваться?
Просто прочел, что
на моей ОС десятичный разделитель это запятая, однако код у меня работает Добавлено через 2 минуты Наталья8, почему тебе не завести блог на форуме, как вот я сделал? Там можешь коды публиковать, а мы будем их брать Добавлено через 1 минуту Кликните здесь для просмотра всего текста
0
|
||||||||
|
фрилансер
6472 / 5691 / 1131
Регистрация: 11.10.2019
Сообщений: 15,168
|
||
| 10.06.2024, 04:40 | ||
|
Добавлено через 6 минут Royal_X, теперь можно и тестирование прилепить. Вот такая идея: генерируем числа типа int, кладём их в переменные типа long (чтобы переполнения не было при вычислениях) (предварительно убеждаемся, что static_assert(sizeof(int) < sizeof(long));)для всех операций и функций класса BigInt производим вычисления и сравниваем с результатом нативных вычислений над long-переменными и рандомно в течение минуты пусть лупасит ![]() отдельно вручную надо подставить всякие экстремальные варианты, ведь не факт, что они рандомно выпадут. (например, деление ноля на ноль,) ------------------------------- А потом и для дробного класса что-то подобное с участием double и сравнением с какой-то точностью
0
|
||
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
||
| 10.06.2024, 14:28 [ТС] | ||
|
Алексей1153, добавлю ещё сравнения дробей и перейду к тестированию.
Добавлено через 4 часа 47 минут Добавлено через 16 минут Алексей1153, или просто создаются static const BigInt, BigFrac?
0
|
||
|
фрилансер
6472 / 5691 / 1131
Регистрация: 11.10.2019
Сообщений: 15,168
|
|
| 10.06.2024, 14:39 | |
|
Royal_X, всё можно, если захотеть ))
но std::string constexpr - только с C++20 поэтому придётся делать на основе, к примеру, std::array. А чтобы не повторять всё, что уже было сделано, BigInt для этого можно сделать шаблоном, а диапазоны передавать итераторами. А для этого нужны внутренние методы, принимающие диапазоны Хочется? Решай сам. Я бы заморочился, потому что задача так то прикольная Добавлено через 3 минуты ну и два алиаса будет Например, BigInt - это основной шаблон, параметризированный для работы с std::string , BigInt_const - для констант
0
|
|
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
||
| 10.06.2024, 14:40 [ТС] | ||
|
Алексей1153, не, не хочу, т.к. это означает полностью всё переписать. Тогда сделаю static const.
Добавлено через 1 минуту
0
|
||
|
фрилансер
6472 / 5691 / 1131
Регистрация: 11.10.2019
Сообщений: 15,168
|
|
| 10.06.2024, 14:41 | |
|
Royal_X, std::array будет только в константном варианте. В динамическом - вектор
0
|
|
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
||
| 10.06.2024, 14:43 [ТС] | ||
|
Толку от такой оптимизации будет в разы меньше, нежели если бы я улучшил внутренние алгоритмы математических функций. Будет время, я могу реализовать более быстрые алгоритмы, а не заниматься микро-оптимизацией.
0
|
||
|
фрилансер
6472 / 5691 / 1131
Регистрация: 11.10.2019
Сообщений: 15,168
|
|
| 10.06.2024, 14:47 | |
|
ясно, что это можно будет потом. Но если в архитектуру не заложить эту возможность, то потом будет больно переделывать
0
|
|
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
||
| 10.06.2024, 15:06 [ТС] | ||
|
0
|
||
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
||
| 10.06.2024, 17:46 | ||
|
0
|
||
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
|
| 10.06.2024, 17:51 [ТС] | |
|
0
|
|
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
||
| 10.06.2024, 17:55 [ТС] | ||
|
commun, ты спрашиваешь про ISqrt или Abs? Ты отредактировал пост?
Добавлено через 1 минуту Добавлено через 1 минуту есть BigInt Abs(const BigInt&) и BigFrac Abs(const BigFrac&)
0
|
||
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
|
| 10.06.2024, 17:59 | |
|
Я спрашиваю про Abs. Да не все равно?
Ввод один, возврат другой. Но тема отмечена "ОК". Я только сейчас сюда заехал. Добавлено через 2 минуты Может это ответ std::hex? Покажи dec.
0
|
|
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
|
| 10.06.2024, 17:59 [ТС] | |
|
0
|
|
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
|
| 10.06.2024, 18:04 | |
|
Хочу ввести произвольное число как строку и получить в итоге то же изображение (числа). Думал, вы все о том же кипите.
0
|
|
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
|
| 10.06.2024, 18:05 [ТС] | |
|
0
|
|
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
||
| 10.06.2024, 19:34 | ||
|
0
|
||
|
6249 / 2961 / 1048
Регистрация: 01.06.2021
Сообщений: 10,993
|
|
| 10.06.2024, 20:48 [ТС] | |
|
0
|
|
| 10.06.2024, 20:48 | |
|
Помогаю со студенческими работами здесь
160
Дан файл целых чисел. Подсчитать сумму чисел, больших числа N
Найти сумму целых чисел положительных чисел, больших 20, меньших 100 и кратных 3 Сравнить функции(рекурсивную и итерационную) по скорости выполнения для больших чисел Для последовательности целых, оканчивающейся "8", определить число чисел, больших первого введенного числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|