Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по реализации Длинной арифметики
СообщениеДобавлено: 08 июл 2020, 13:37 
Не в сети
Начинающий
Зарегистрирован:
08 июл 2020, 13:08
Сообщений: 2
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Привет.
Вчера возникла потребность в этой процедуре)
Хочу вставить в программку для микроконтроллера функцию реализующую умножение чисел по принципу Длинной арифметики.
Допустим, функция умножения константы A_BIG (Длинное число) и переменной (Х) преобразованной в Длинное число будет выглядеть:

float MULT (float X) {
float VAL_OUT;
VAL_OUT = (float)( init_BIGNUMB (X) * A_BIG); / * результат умножения Длинных чисeл преобр. в число типа float */
return ( VAL_OUT );

здесь, init_BIGNUMB (X) - процедура преобразования в Длинное число.

Лучше бы не изобретать велосипед, и найти готовый исходник рабочего кода на языке Си, реализующий функции:
преобразование переменной float в ДлЧсл, преобразование из ДлЧсл во float, умножение пары ДлЧсл, суммирование двух ДлЧсл.
Нужно только это.

Не сочтите за труд, подскажите ссылку на такие исходные файлы. :beer:

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Вопрос по реализации Длинной арифметики
СообщениеДобавлено: 08 июл 2020, 14:43 
Не в сети
Light & Truth
Зарегистрирован:
02 дек 2016, 22:55
Сообщений: 5208
Cпасибо сказано: 341
Спасибо получено:
924 раз в 873 сообщениях
Очков репутации: 131

Добавить очки репутацииУменьшить очки репутации
barbarian
Длинное число — это у вас что?
Впрочем, посмотрите первую же ссылку по запросу в гугле и решите сами, что именно вам надо. Коды на с++ там есть.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Вопрос по реализации Длинной арифметики
СообщениеДобавлено: 08 июл 2020, 14:54 
Не в сети
Начинающий
Зарегистрирован:
08 июл 2020, 13:08
Сообщений: 2
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
По Вашей ссылке, в конце статьи - это мой случай.

"Выделение позиции плавающей точки в отдельный тип
Иногда в задаче требуется производить расчёты с очень большими либо очень маленькими числами, но при этом не допускать их переполнения. Встроенный 8-10-байтовый тип double, как известно, допускает значения экспоненты в диапазоне [-308; 308], чего иногда может оказаться недостаточно.
Приём, собственно, очень простой — вводится ещё одна целочисленная переменная, отвечающая за экспоненту, а после выполнения каждой операции дробное число "нормализуется", т.е. возвращается в отрезок [0.1; 1), путём увеличения или уменьшения экспоненты.
При перемножении или делении двух таких чисел надо соответственно сложить либо вычесть их экспоненты. При сложении или вычитании перед выполнением этой операции числа следует привести к одной экспоненте, для чего одно из них домножается на 10 в степени разности экспонент.
Наконец, понятно, что не обязательно выбирать 10 в качестве основания экспоненты. Исходя из устройства встроенных типов с плавающей точкой, самым выгодным представляется класть основание равным 2."



Имеем одно число очень большое (30-40 порядков), а второе очень маленькое (порядок -30), но результат умножения будет обычное число - 4-5 знаков после запятой.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему      Страница 1 из 1 [ Сообщений: 3 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Вопрос из области арифметики (в качестве досуга)

в форуме Палата №6

Akornit Akorna

6

584

27 апр 2014, 00:01

Объем реализации

в форуме Экономика и Финансы

Sasha9468

0

98

08 ноя 2023, 20:08

Практическая задача: Выбор стратегии реализации товара

в форуме Исследование операций и Задачи оптимизации

ValReese

0

325

04 сен 2016, 19:41

ВТФ и основная теорема арифметики

в форуме Палата №6

Markin

0

259

25 июн 2016, 23:44

Основная теорема арифметики

в форуме Теория чисел

Elphen Lied

2

243

16 май 2020, 13:22

Задача по уровню Арифметики

в форуме Дифференциальное исчисление

sew_eurodrive

2

324

29 июл 2021, 22:15

Доказательство разрешимости арифметики Сколема

в форуме Дискретная математика, Теория множеств и Логика

ben_armyman

0

424

10 июн 2014, 18:36

Написать формулу языка арифметики утверждения

в форуме Теория чисел

plktre

4

458

14 мар 2019, 21:33

Док-во леммы, связанной с основной теоремой арифметики

в форуме Теория чисел

Insferatu

6

636

27 июн 2015, 14:23

Основные законы арифметики - аксиома или теорема?

в форуме Линейная и Абстрактная алгебра

eric-k

12

1586

02 июн 2014, 00:16


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved