Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 3 ] |
|
Автор | Сообщение | |
---|---|---|
barbarian |
|
|
Вчера возникла потребность в этой процедуре) Хочу вставить в программку для микроконтроллера функцию реализующую умножение чисел по принципу Длинной арифметики. Допустим, функция умножения константы 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, умножение пары ДлЧсл, суммирование двух ДлЧсл. Нужно только это. Не сочтите за труд, подскажите ссылку на такие исходные файлы. |
||
Вернуться к началу | ||
Booker48 |
|
|
barbarian
Длинное число — это у вас что? Впрочем, посмотрите первую же ссылку по запросу в гугле и решите сами, что именно вам надо. Коды на с++ там есть. |
||
Вернуться к началу | ||
barbarian |
|
|
По Вашей ссылке, в конце статьи - это мой случай.
"Выделение позиции плавающей точки в отдельный тип Иногда в задаче требуется производить расчёты с очень большими либо очень маленькими числами, но при этом не допускать их переполнения. Встроенный 8-10-байтовый тип double, как известно, допускает значения экспоненты в диапазоне [-308; 308], чего иногда может оказаться недостаточно. Приём, собственно, очень простой — вводится ещё одна целочисленная переменная, отвечающая за экспоненту, а после выполнения каждой операции дробное число "нормализуется", т.е. возвращается в отрезок [0.1; 1), путём увеличения или уменьшения экспоненты. При перемножении или делении двух таких чисел надо соответственно сложить либо вычесть их экспоненты. При сложении или вычитании перед выполнением этой операции числа следует привести к одной экспоненте, для чего одно из них домножается на 10 в степени разности экспонент. Наконец, понятно, что не обязательно выбирать 10 в качестве основания экспоненты. Исходя из устройства встроенных типов с плавающей точкой, самым выгодным представляется класть основание равным 2." Имеем одно число очень большое (30-40 порядков), а второе очень маленькое (порядок -30), но результат умножения будет обычное число - 4-5 знаков после запятой. |
||
Вернуться к началу | ||
[ Сообщений: 3 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Вопрос из области арифметики (в качестве досуга)
в форуме Палата №6 |
6 |
584 |
27 апр 2014, 00:01 |
|
Объем реализации
в форуме Экономика и Финансы |
0 |
98 |
08 ноя 2023, 20:08 |
|
Практическая задача: Выбор стратегии реализации товара | 0 |
325 |
04 сен 2016, 19:41 |
|
ВТФ и основная теорема арифметики
в форуме Палата №6 |
0 |
259 |
25 июн 2016, 23:44 |
|
Основная теорема арифметики
в форуме Теория чисел |
2 |
243 |
16 май 2020, 13:22 |
|
Задача по уровню Арифметики
в форуме Дифференциальное исчисление |
2 |
324 |
29 июл 2021, 22:15 |
|
Доказательство разрешимости арифметики Сколема | 0 |
424 |
10 июн 2014, 18:36 |
|
Написать формулу языка арифметики утверждения
в форуме Теория чисел |
4 |
458 |
14 мар 2019, 21:33 |
|
Док-во леммы, связанной с основной теоремой арифметики
в форуме Теория чисел |
6 |
636 |
27 июн 2015, 14:23 |
|
Основные законы арифметики - аксиома или теорема?
в форуме Линейная и Абстрактная алгебра |
12 |
1586 |
02 июн 2014, 00:16 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |