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

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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Как избежать целочисленного переполнения в выражении a*b/c
СообщениеДобавлено: 05 сен 2022, 12:47 
Не в сети
Начинающий
Зарегистрирован:
05 сен 2022, 12:36
Сообщений: 2
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Всем привет.

Есть выражение a*b/c где a,b,c - целые числа и с >= b. При вычислении на компьютере в числителе a*b может произойти целочисленное переполнение. Можно каким-то способом преобразовать выражение чтобы в нем не было умножений или гарантировалась невозможность переполнения?

PS. Не знаю куда писать, если написал не в тот раздел, подскажите куда.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Как избежать целочисленного переполнения в выражении a*b/c
СообщениеДобавлено: 05 сен 2022, 13:26 
Не в сети
Оракул
Зарегистрирован:
10 окт 2018, 22:06
Сообщений: 830
Cпасибо сказано: 209
Спасибо получено:
245 раз в 225 сообщениях
Очков репутации: 38

Добавить очки репутацииУменьшить очки репутации
a*(b/c)

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Как избежать целочисленного переполнения в выражении a*b/c
СообщениеДобавлено: 05 сен 2022, 14:20 
Не в сети
Начинающий
Зарегистрирован:
05 сен 2022, 12:36
Сообщений: 2
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
AGN

Числа целые. результат целочисленного деления будет ноль.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Как избежать целочисленного переполнения в выражении a*b/c
СообщениеДобавлено: 05 сен 2022, 14:43 
Не в сети
Одарённый
Зарегистрирован:
17 апр 2020, 10:40
Сообщений: 155
Cпасибо сказано: 3
Спасибо получено:
56 раз в 48 сообщениях
Очков репутации: 11

Добавить очки репутацииУменьшить очки репутации
(a * b) / c = (a / c) * b + ((a % c) * b) / c
От переполнения полностью не гарантирует, сами определите в каких случаях.
Но можно использовать
a * b / c = (a / gcd(a,c)) * (b / (c / gcd(a,c)))

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Как избежать целочисленного переполнения в выражении a*b/c
СообщениеДобавлено: 05 сен 2022, 19:34 
Не в сети
Последняя инстанция
Зарегистрирован:
12 сен 2010, 12:46
Сообщений: 6077
Cпасибо сказано: 137
Спасибо получено:
1033 раз в 976 сообщениях
Очков репутации: 67

Добавить очки репутацииУменьшить очки репутации
kurono писал(а):
Можно каким-то способом преобразовать выражение чтобы в нем не было умножений или гарантировалась невозможность переполнения?

нет
изучите алгоритм Евклида, это немного улучшит ситуацию

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

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Реализация не целочисленного факториала в программировании

в форуме Размышления по поводу и без

canIdie

5

267

23 июл 2020, 17:29

Может ли задача целочисленного программирования

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

Class

3

373

20 июн 2018, 22:34

Непонятный символ в выражении

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

Supi

2

321

22 июн 2023, 12:05

Расставить заки операций в выражении

в форуме Алгебра

DARK-CRYGER

10

703

02 авг 2014, 04:08

Градиент в выражении для силы вязкости

в форуме Механика

MosMan

16

504

08 авг 2018, 00:26

Теорема о взаимозамене конъюнкции и дизъюнкции в выражении

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

Rpuayntdyak

1

139

11 дек 2021, 20:19

Верен ли порядок действий в логическом выражении

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

ZeGRyX

3

160

28 окт 2020, 18:22

Избавиться от иррациональности в очень сложном выражении

в форуме Алгебра

Nattalia

13

1120

08 апр 2016, 04:46

Какие порядки полюсов будут в следующем выражении?

в форуме Комплексный анализ и Операционное исчисление

ddaarryaa

1

87

02 ноя 2021, 14:58

Аргументируйте, почему нельзя раскрывать скобки в выражении

в форуме Алгебра

expmy

11

466

11 дек 2017, 21:52


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



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

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


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

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

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

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