Как деление заменить умножением
Перейти к содержимому

Как деление заменить умножением

  • автор:

Деление через умножение на обратное число

Народ, подскажите как можно делить двоичные целые числа методом умножения на обратное число!?
Буду очень признателен.

12 ответов

15 мая 2007 года
19 / / 20.04.2006

Народ, подскажите как можно делить двоичные целые числа методом умножения на обратное число!?
Буду очень признателен.

Если тебя интересует сам алгоритм, то смысл его сводится к следующему: операцию деления Z/D можно заменить на умножение Z*(1/D). Весь вопрос в том, как определить 1/D. Для этого используются два метода — разложение в ряд Тейлора и метод Ньютона-Рафсона.
Первый: D=1+X, тогда 1/D = (1-X)*(1+X^2)*(1+X^4)*(1+X^8)*(1+X^16)*.
Второй сводится к решению уравнения f(X) = 1/X — D = 0, т.е. X = 1/D, которое может быть найдено с помощью реккурентного соотношения
X(i+1) = X(i)*(2-X(i)D).

16 мая 2007 года
35 / / 13.05.2007

Если тебя интересует сам алгоритм, то смысл его сводится к следующему: операцию деления Z/D можно заменить на умножение Z*(1/D). Весь вопрос в том, как определить 1/D. Для этого используются два метода — разложение в ряд Тейлора и метод Ньютона-Рафсона.
Первый: D=1+X, тогда 1/D = (1-X)*(1+X^2)*(1+X^4)*(1+X^8)*(1+X^16)*.
Второй сводится к решению уравнения f(X) = 1/X — D = 0, т.е. X = 1/D, которое может быть найдено с помощью реккурентного соотношения
X(i+1) = X(i)*(2-X(i)D).

все проще мне нужно просто разделить двоичную «1» на делитель, и потом сдвинуть дробную часть — в сектор целой, и полученное двоичное целое умножить на делимое ))

16 мая 2007 года
19 / / 20.04.2006

все проще мне нужно просто разделить двоичную «1» на делитель, и потом сдвинуть дробную часть — в сектор целой, и полученное двоичное целое умножить на делимое ))

Так действительно проще. Только как ты будешь делить 1 на делимое?

18 мая 2007 года
35 / / 13.05.2007
Так действительно проще. Только как ты будешь делить 1 на делимое?

так — как еслибы это было число с плавающей точкой: например 1/2 будет выглядеть 0000.1000 — теперь сдвину дробную часть в область целой, и умножу делимое на 1000 ))

19 мая 2007 года
19 / / 20.04.2006

так — как еслибы это было число с плавающей точкой: например 1/2 будет выглядеть 0000.1000 — теперь сдвину дробную часть в область целой, и умножу делимое на 1000 ))

Если тебя это устраивает, то замечательно. Просто это совсем не замена деления умножением.

19 мая 2007 года
35 / / 13.05.2007
почему? умножаем на обратное число, просто сдвинутое. чтоже это тогда?
19 мая 2007 года
19 / / 20.04.2006
А как ты собираешься находить обратные числа? Например, 1/23?
20 мая 2007 года
35 / / 13.05.2007

как обычно — двоичным делением. если тебя смущает целочисленность, то уменя в задаче — все обратные числа сохраняются заранее и извлекаются из таблицы

20 мая 2007 года
19 / / 20.04.2006

как обычно — двоичным делением. если тебя смущает целочисленность, то уменя в задаче — все обратные числа сохраняются заранее и извлекаются из таблицы

Меня ничего не смущает — это твоя задача, и тебе реализовывать ее так, как тебе удобнее. Только я повторюсь — тот метод, что ты предложил, не есть метод замены деления умножением, потому что такой метод замены предполагает НЕ использование операции деления вообще, а у ты собираешься использовать «обычное двоичное деление». Т.е. ты просто заменяешь одну операцию деления — двумя, одна из которых тоже деление. Может, с сумме они и дадут выигрыш по времени/производительности, ни это уже зависит от реализации.

20 мая 2007 года
35 / / 13.05.2007

фишка реализации в том, что обратные числа уже постчитаны и просто достаются из таблицы при умножении:)

23 мая 2007 года
365 / / 19.12.2005
13 декабря 2018 года
1 / / 13.12.2018

Есть метод деления любого числа на любое умножением на определённое для каждого делителя число. Этот метод я обнаружил в 80-х годах и только 10 лет назад его обнародовал. Он называется **»Вместо деления умножение»** Найдите в интернете мою статью под этим названием, которую я представил на международной конференции в 2006 году как открытие. Я пишу книгу на эту тему, материал потрясающий. Книга будет по плану состоять из 11 глав. На подступах к этому открытию я в в 1989 г написал статью *»удивительные приключения десятичных дробей»* («Квант», 1989 № 8, с.23-30). В 100 школах Москвы в 1985-1990-х годах я читал лекции на эту тему для старшеклассников. См. также мою статью «А фокусы ли это» в журнале «Математика в школе», 1989 № 5, с.110-113. Ещё в древних индийских ведах 4000 лет назад кое-что об этом методе знали. Тот, кто найдёт меня, позвоните мне. я познакомлю его с книгой американца, который был рядом с этим открытием, но не увидел его.

Вместо деления — умножение Текст научной статьи по специальности «Математика»

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Столяр Владимир Гершевич

Эффективный алгоритм деления чисел в системе остаточных классов на основе приближенного метода
Недесятичные дроби в работах Г. В. Лейбница и Л. Эйлера

Методические приемы разработки занятия по теме «Полиномиальное кодирование» с использованием системы схемотехнического моделирования

Операция деления для параллельных вычислительных систем. Ч. 2
Действия над бесконечными периодическими десятичными дробями
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MULTIPLICATION INSTEAD OF DIVISION

A method of division of integers is introduced. It uses multiplication in a form of addition with a shift of digits. The method is compared with the conventional method of division the binary-coded numbers on the hardware level. As a result it is possible to increase the processing speed of computer.

Текст научной работы на тему «Вместо деления — умножение»

НАУЧНЫЙ ВЕСТНИК МГТУ ГА серия Математика и физика

УДК 511, 681.3(075.8)

ВМЕСТО ДЕЛЕНИЯ — УМНОЖЕНИЕ

Статья представлена доктором технических наук, профессором Самохиным А.В.

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

Обычный способ деления одного целого числа на другое, как известно, предполагает операцию подбора цифр частного. При этом процесс деления, в зависимости от знаменателя, либо заканчивается (когда остаток равен нулю), либо продолжается бесконечно с периодически повторяющейся группой цифр в десятичной записи частного.

Предлагаемый ниже способ деления не требует подбора цифр частного и имеет несложный алгоритм, использующий только операции умножения и сложения.

Сначала докажем теорему.

Всякое рациональное число вида ї / к, где ї и к — натуральные (ї, к є Ы), может быть представлено в виде бесконечно убывающей геометрической прогрессии с положительными членами, у которой первый член Ь1 = ї /р, а знаменатель д = г /р, где р > к, р є N и г = р — к, т.е. число г являетсяр-дополнение числа к. Так как г < р, то: 0 < д < 1.

1. Докажем сначала необходимое условие для t = 1.

Положим, что сумма членов бесконечно убывающей геометрической прогрессии равна рациональному числу S = 1 / к Тогда по известной формуле для суммы членов геометрической прогрессии S = Ьі/(1 — д) запишем:

откуда д = 1 — кЬ1 и 0 < 1 - кЬ1 < 1.

Преобразуя это неравенство (умножим все члены неравенства на -1, прибавим 1 и разделим на к), получим:

Представим Ь1 в виде правильной дроби с числителем, равным 1, и натуральным знаменателем:

Тогда из неравенства (2) следует:

Пусть р = к + г . (4)

Назовём число г р-дополнением числа к.

Мы можем теперь определить знаменатель прогрессии д. Для этого подставим (3) в (1) с учётом (4).

или в других обозначениях

Таким образом, каждую правильную дробь вида 1 / к можно представить бесконечным числом бесконечно убывающих геометрических прогрессий с первым членом Ь1 = 1 / рг, где рг > к, т.е. р1 = к + 1, р2 = к + 2, р3 = к + 3, . , рг = к + г, . , и со знаменателем я = г / рг.

к рг р2г р3г р4г

2. Для доказательства достаточного условия построим бесконечно убывающую геометрическую прогрессию с Ь1 = 1 / р и я = г / р, где р > к, р е N и г = р — к.

Тогда сумма членов этой прогрессии равна

1 — я р(1 ) р (р — г) к

Очевидно таких прогрессий при р > к бесконечное множество.

Переходим к общему случаю. Пусть требуется разделить число t на число к, оба натураль-

Умножим обе части (7) на t. Получим

к рг р2г р3г р4г

откуда следует, что в этом случае все члены геометрической прогрессии умножаются на делимое 1.

Отсюда, всякая дробь X / к, где X и к — натуральные, может быть представлена бесконечным числом бесконечно убывающих геометрических прогрессий с Ь1 = X / р и я = г / р, где р > к и г является р-дополнением знаменателя к. Теорема доказана.

В качестве примера представим дробь 1 / 7 в виде бесконечно убывающей геометрической прогрессии (таких прогрессий, очевидно, бесконечное множество):

В привычной для нас десятичной системе счисления прогрессия для г = 3, у которой Ь1 = 1 / 10 и я = 3 / 10, позволяет представить дробь в виде суммы степеней числа 3 (десятичное дополнение знаменателя дроби), расположенных столбиком со сдвигом соответствующих разрядов на один вправо

0,1 1 0,03 или проще 3

0,009 и, наверное, 9

0,0027 красивее: 27

i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

При количестве слагаемых, равном 13, мы получили результат 0,142857 с точностью 10 . Точность результата тем больше, чем больше взято членов геометрической прогрессии в качестве слагаемых.

Если требуется, например, разделить 14 на 7, воспользуемся вновь удобной прогрессией со знаменателем 3 14 14 14-3 14-9

10 7 10 100 1000

То же самое запишем столбиком, сдвигая результаты последовательного умножения на число 3 на один разряд вправо. Здесь при 13 слагаемых мы получили результат 2,0 с точностью 10-6.

Вообще, в десятичной системе счисления для т-значного знаменателя к при таком способе деления практически используется убывающая геометрическая прогрессия с я = г / р, где р = 10т, а г — ближайшее десятичное дополнение числа к, т. е. г = 10т — к, и это число г становится постоянным множителем для записи процесса деления любого положительного

числа X на к столбиком со смещением каждого следующего слагаемого (члена прогрессии) на т разрядов вправо.

Конечно, с увеличением т такое деление становится громоздким и непрактичным. Кроме того, результат всегда получается приближённым, и мы не можем определить, делится ли одно число на другое нацело. И, наконец, при таком способе деления невозможно точно определить период десятичной записи дроби для данного делителя как знаменателя.

Однако можно определить количество слагаемых п для получения частного с заданной степенью точности.

Известно, что для геометрической прогрессии

Следовательно, для нашего общего случая (для дроби X / к)

X 1 — гп / (к + г)п X [(к + г)п — гп]

к + г 1 — г / (к + г) к (к + г)п X X [(к + г)п — гп] X гп

Прологарифмируем неравенство (10) по основанию 10

1 + 1§ X + п 1§ г — 1§ к — п 1§ (к + г) < 0.

Отсюда п [1§ (к + г) — 1§ г] > 1 + 1Б X — 1Б к.

1§ (к + г) — ^ г 1§ (к + г) = ^ р = ^ 10т = т.

Так для дроби 1 / 7 задаём 1 = 7. Здесь X = 1, к = 7, г = 3, т = 1.

Можно принять п > 12.

Действительно, просуммировав столбиком первые 13 слагаемых для прогрессии (7), мы для

1 / 7 получим: 0,1428571200811 с точностью 10-7.

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

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

Известно [2, с.74-107], что в компьютере операция деления состоит из нескольких этапов (шагов), число которых, а следовательно, и продолжительность операции, определяется заданным числом разрядов частного. Каждый шаг представляет собой последовательность определённых действий, включающих, в зависимости от принятого алгоритма (с восстановлением остатка или без его восстановления), следующие: вычитание или прибавление делителя, восстановление остатка, сдвиг остатка. Кроме того, обязательным является оценка каждой цифры частного (0 или 1) для определения действия на следующем шаге, что требует так же определённых аппаратных затрат.

Ниже представлены первые результаты сравнительного анализа использования предлагаемого способа деления через умножение на аппаратном уровне в компьютере по отношению к принятому в настоящее время способу деления чисел с фиксированной точкой без восстановления остатка [2, с.90].

Способ деления, используемый в компьютере, обозначим К-метод. Предлагаемый в статье способ — 8-метод. Сравнение проводится для процесса деления числа +145 на -13 до получения в частном семи разрядов. Процесс деления при К-методе показан на рис. 1.

Доведение этого процесса деления до получения семи разрядов в частном, как оказалось, потребовало использования 8 шагов по два действия в каждом — сдвиг и сложение. Итого 16 действий.

Способ деления числа 145 на 13 в двоичной системе по 8-методу (через умножение на г10 = 16 — 13 = 3, т.е. на г2 = 10000 — 1101 = 11) до получения семи разрядов в частном показан на рис.

2. Поскольку для нашего анализа важен сам принцип деления по 8-методу, знак делителя берём положительным.

Таким образом, для данного частного случая деление 145 на 13 в двоичной системе сведено к пошаговому умножению числа 10010001 на 11 со сдвигом промежуточных произведений на каждом шаге на 4 разряда вправо (так как здесь р = 10000) и их сложению; при этом для получения в частном (здесь: в итоговой сумме) семи разрядов использовано 3 шага по четыре действия в каждом. Итого 12 действий.

Делимое А10= +145 00 1001 0001 1101 Делитель В10 = -13

Вычитание делителя + 11 0011 1011 ,001 В2 = 1101

Сдвиг остатка влево 11 1000 001 | | | |

Прибавление делителя + 00 1101 001 | | | |

Остаток > 0 = 00 0101 001 _Т | | |

Сдвиг остатка влево 00 1010 01 | | |

Вычитание делителя + 11 0011 | | |

Сдвиг остатка влево 11 1010 1 | |

Прибавление делителя + 00 1101 | |

Остаток > 0 = 00 0111 1 т |

Сдвиг остатка влево 00 1111 |

Вычитание делителя + 11 0011 |

Остаток > 0 = 00 0010 т |

Сдвиг остатка влево 00 010 |

Вычитание делителя + 11 0011 |

Сдвиг остатка влево 10 111 |

i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Прибавление делителя + 00 1101 |

Сдвиг остатка влево 10 111 |

Вычитание делителя + 00 1101 |

Остаток > 0 00 0011 т

Рис. 1. Деление числа 145 на -13 по К-методу

У множение на 310 = 112 Сложение со сдвигом на 4 разряда

Рис. 2. Деление числа 145 на 13 по Б-методу

Важно отметить, что поскольку цифры дополнительного множителя могут принимать только значения 0 и 1, то показанный на рис. 2 процесс деления-умножения по 8-методу фактически представляет собой процедуру, состоящую из двух параллельных ветвей пошагового сложения с соответствующими сдвигами.

Как следует из приведенного примера, число шагов (действий) в 8-методе зависит от числа единиц в дополнительном множителе (или количества частичных произведений П в каждом шаге). Можно подсчитать относительную эффективность Е для 8-метода по сравнению с К-методом по формуле:

где 1к — количество действий при делении по К-методу, 18 — по 8-методу. Тогда при делении на 13 получим

По аналогии с приведённым примером был проведён сравнительный анализ числа шагов (действий) при делении числа 145 на другие числа из интервала от 23 до 24, исходя из неизменности числа шагов по К-методу для получения тех же семи разрядов в частном.

При делении 145 на 9 (т.е. при умножении числа 100100012 на 1112, где 1112 = 100002 -10012), что является самым трудоёмким процессом на интервала делителей от 9 до 15, потребуется соответственно 3 шага по два действия (сложение и сдвиг) для каждой единицы множителя, т.е. всего 18 шагов. Соответственно

В остальных же случаях, т.е. при делении на 10, 11, 12, 13, 14, 15 эффект при 8-методе положительный. Результаты этого анализа приведены в табл. 1.

Расчёт эффективности Б-метода на интервале делителей от 9 до

В10 9 10 11 12 13 14 15

В2 1001 1010 1011 1100 1101 1110 1111

Г2 111 110 101 100 11 10 1

П 3 2 2 1 2 1 1

1к 16 16 16 16 16 16 16

и 18 12 12 6 12 6 6

е8 (%) -12,5 +25 +25 +62,5 +25 +62,5 +62,5

Для анализа эффективности 8-метода при делении на числа следующих после рассмотренного интервала (на числа от 2п до 2П+1 для п = 4, 5, . ) было введено понятие среднего числа частичных произведений Пср (отношение суммарного числа единиц в записи всех чисел данного интервала в двоичной системе счисления к длине интервала) на интервалах от 2п до 2п+1. С учётом закономерности преобразования числа из десятичной системы в двоичную была выведена формула Пср для 8-метода

В целях наглядности на рис. 3 приводится соответствующая табл. 1 диаграмма эффективности S-метода относительно К-метода деления на числа рассматриваемого интервала.

Деление на 16 или умножение на 0.0625

На многих форумах попадается выражение, что деление это «очень дорогая операция».

Делаю игру, там поле разбито на клетки по 16 пикселов и довольно часто нужно делить числа на 16. Но деление, оно ведь дорогое) Может лучше умножать на 0.0625 (1/16)?

Подскажите плз, а то с нынешними процессорами вообще не заметно, что дорогое, что нет.

#1
10:51, 5 фев 2010

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

  • The Andreyp
  • Постоялец

#2
10:52, 5 фев 2010

А ты замерять не пробовал? без разницы

#3
10:52, 5 фев 2010

Подели и посмотри асм.

#4
10:53, 5 фев 2010

iXy
сдвигай на 4

#5
10:54, 5 фев 2010

разницы при делении/умножении на константу нет никакой. компилятор сам заменит операцию на более выгодную. даже целочисленное умножение на степень двойки заменяется на побитовый сдвиг.

если бы у тебя эта операция выполнялась в шейдере или просто очень много раз, тогда ещё можно было бы задуматься над её производительностью, экономить на спичках — дилетантство.

  • Sbtrn. Devil
  • Постоялец

#6
10:59, 5 фев 2010

По идее, современные компиляторы шибко умные и умеют заменить деление на константное 16 на сдвиг вправо на 4.

Но вообще, дороговизна операций в наши дни имеет значение разве что для вещей, связанных с реалтаймовым процессингом больших битмапов. Игровая логика, в подавляющем большинстве случаев, занимает пренебрежимо малое время по сравнению с графическо-звуковыми операциями. Поэтому там можно хоть квадратный корень извлекать — перфоманс это, скорее всего, не убьёт.

Сам кармак уже во времена Q1 хранил логические величины во флоатах (см. описание ихнего скриптоязыка). И ничего, бегало.

#7
11:05, 5 фев 2010

iXy
> Может лучше умножать на 0.0625

Ога. [сконвертировать операнды из int во float, запихать их в стек сопроцессора], запустить команду умножения, выдать процессору инструкцию wait для ожидания конца операции, достать результат из стека, сконвертировать обратно в int. просто замечательный буст производительности.

ЗЫ.
Иногда у меня возникает ощущение, что без обучения радиотехнике и схемотехнике, с последующим обучением ассемблеру — людей до ЯВУ допускать просто нельзя, — т.е. странные мысли из них так и прут

ЗЗЫ.
Как было замечено выше, — можно использовать команду сдвига для умножения/деления на степень двойки.

#8
11:33, 5 фев 2010

Компилятор VC++ 2008. Ну раз он умный, то думаю сам разберется и всё заменит на правильные операции.

#9
11:33, 5 фев 2010

oistalker
> Иногда у меня возникает ощущение, что без обучения радиотехнике и схемотехнике,
> с последующим обучением ассемблеру — людей до ЯВУ допускать просто нельзя, —
> т.е. странные мысли из них так и прут
Зачем нужна схемотехника и радиотехника? Мне в институте когда учили ассемблеру рассказывали одновременно, как устроен процессор 8086, для базового уровня этого достаточно. Я ещё долго после этого думал, что умножение занимает 100 с лишним тактов. Потом кто-то сказал, что 2-3 такта, позже я узнал про конвейер команд, потом на ОргЭВМ закрепил. Но что деление на 16 можно заменить сдвигом вправо на 4 это нужно знать даже без ассемблера.

Sbtrn. Devil
> Сам кармак уже во времена Q1 хранил логические величины во флоатах
В описании я ничего про логические величины такого не нашёл. Да и может там флоаты на фиксированной точке сделаны.
Вообще я такое видел, вроде из того же Q1:

typedef enum bool;

правка: убрал ‘;’ после true )

#10
11:34, 5 фев 2010

Sbtrn. Devil
Без оптимизацией операция деления медленнее в 4-5 раз, с ней медленнее на треть
это с настройками по умолчанию, в студии можно настроить быстрый операции с флоатами, тогда разница будет в несколько процентов
И я говорю о тех случаях когда деление/умножение все таки происходит (компилятор может его убрать заменить или еще чего)

#11
11:37, 5 фев 2010

Zefick
> Зачем нужна схемотехника и радиотехника?

Чтобы мысли приняли верное направление и процессор не казался Magic Device.

#12
11:43, 5 фев 2010

Хм, еще и float лучше не использовать, чтоли.

Умножение и деление алгебраических дробей

В этой статье мы продолжаем изучение основных действий, которые можно выполнять с алгебраическими дробями. Здесь мы рассмотрим умножение и деление: сначала выведем нужные правила, а затем проиллюстрируем их решениями задач.

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

Чтобы выполнить умножение алгебраических дробей или разделить одну дробь на другую, нам нужно использовать те же правила, что и для обыкновенных дробей. Вспомним их формулировки.

Когда нам надо умножить одну обыкновенную дробь на другую, мы выполняем отдельно умножение числителей и отдельно знаменателей, после чего записываем итоговую дробь, расставив по местам соответствующие произведения. Пример такого вычисления:

2 3 · 4 7 = 2 · 4 3 · 7 = 8 21

А когда нам надо разделить обыкновенные дроби, мы делаем это с помощью умножения на дробь, обратную делителю, например:

2 3 : 7 11 = 2 3 · 11 7 = 22 7 = 1 1 21

Умножение и деление алгебраических дробей выполняется в соответствии с теми же принципами. Сформулируем правило:

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

В буквенном виде правило можно записать как a b · c d = a · c b · d . Здесь a , b , c и d будут представлять из себя определенные многочлены, причем b и d не могут быть нулевыми.

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

Это правило можно также записать как a b : c d = a b · d c = a · d b · c . Буквы a , b , c и d здесь означают многочлены, из которых a , b , c и d не могут быть нулевыми.

Отдельно остановимся на том, что такое обратная алгебраическая дробь. Она представляет из себя такую дробь, которая при умножении на исходную дает в итоге единицу. То есть такие дроби будут аналогичны взаимно обратным числам. Иначе можно сказать, что обратная алгебраическая дробь состоит из таких же значений, что и исходная, однако числитель и знаменатель у нее меняются местами. Так, по отношению к дроби a · b + 1 a 3 дробь a 3 a · b + 1 будет обратной.

Решение задач на умножение и деление алгебраических дробей

В этом пункте мы посмотрим, как правильно применять озвученные выше правила на практике. Начнем с простого и наглядного примера.

Условие: умножьте дробь 1 x + y на 3 · x · y x 2 + 5 , а потом разделите одну дробь на другую.

Решение

Сначала выполним умножение. Согласно правилу, нужно отдельно перемножить числители и знаменатели:

1 x + y · 3 · x · y x 2 + 5 = 1 · 3 · x · y ( x + y ) · ( x 2 + 5 )

Мы получили новый многочлен, который нужно привести к стандартному виду. Заканчиваем вычисления:

1 · 3 · x · y ( x + y ) · ( x 2 + 5 ) = 3 · x · y x 3 + 5 · x + x 2 · y + 5 · y

Теперь посмотрим, как правильно разделить одну дробь на другую. По правилу нам надо заменить это действие умножением на обратную дробь x 2 + 5 3 · x · y :

1 x + y : 3 · x · y x 2 + 5 = 1 x + y · x 2 + 5 3 · x · y

Приведем полученную дробь к стандартному виду:

1 x + y · x 2 + 5 3 · x · y = 1 · x 2 + 5 ( x + y ) · 3 · x · y = x 2 + 5 3 · x 2 · y + 3 · x · y 2

Ответ: 1 x + y · 3 · x · y x 2 + 5 = 3 · x · y x 3 + 5 · x + x 2 · y + 5 · y ; 1 x + y : 3 · x · y x 2 + 5 = x 2 + 5 3 · x 2 · y + 3 · x · y 2 .

Довольно часто в процессе деления и умножения обыкновенных дробей получаются результаты, которые можно сократить, например, 2 9 · 3 8 = 6 72 = 1 12 . Когда мы выполняем эти действия с алгебраическими дробями, мы также можем получить сократимые результаты. Для этого полезно предварительно разложить числитель и знаменатель исходного многочлена на отдельные множители. Если нужно, перечитайте статью о том, как правильно это делать. Разберем пример задачи, в которой нужно будет выполнить сокращение дробей.

Условие: перемножьте дроби x 2 + 2 · x + 1 18 · x 3 и 6 · x x 2 — 1 .

Решение

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

x 2 + 2 · x + 1 18 · x 3 · 6 · x x 2 — 1 = x + 1 2 18 · x 3 · 6 · x ( x — 1 ) · ( x + 1 ) = x + 1 2 · 6 · x 18 · x 3 · x — 1 · x + 1

У нас получилась дробь, которую можно сократить:

x + 1 2 · 6 · x 18 · x 3 · x — 1 · x + 1 = x + 1 3 · x 2 · ( x — 1 )

О том, как это делается, мы писали в статье, посвященной сокращению алгебраических дробей.

Перемножив одночлен и многочлен в знаменателе, мы получим нужный нам результат:

x + 1 3 · x 2 · ( x — 1 ) = x + 1 3 · x 3 — 3 · x 2

Вот запись всего решения без пояснений:

x 2 + 2 · x + 1 18 · x 3 · 6 · x x 2 — 1 = x + 1 2 18 · x 3 · 6 · x ( x — 1 ) · ( x + 1 ) = x + 1 2 · 6 · x 18 · x 3 · x — 1 · x + 1 = = x + 1 3 · x 2 · ( x — 1 ) = x + 1 3 · x 3 — 3 · x 2

Ответ: x 2 + 2 · x + 1 18 · x 3 · 6 · x x 2 — 1 = x + 1 3 · x 3 — 3 · x 2 .

В некоторых случаях исходные дроби перед умножением или делением удобно преобразовать, чтобы дальнейшие вычисления стали быстрее и проще.

Условие: разделите 2 1 7 · x — 1 на 12 · x 7 — x .

Решение: начнем с упрощения алгебраической дроби 2 1 7 · x — 1 , чтобы избавиться от дробного коэффициента. Для этого умножим обе части дроби на семь (это действие возможно благодаря основному свойству алгебраической дроби). В итоге у нас получится следующее:

2 1 7 · x — 1 = 7 · 2 7 · 1 7 · x — 1 = 14 x — 7

Видим, что знаменатель дроби 12 · x 7 — x , на которую нам нужно разделить первую дробь, и знаменатель получившейся дроби являются противоположными друг другу выражениями. Изменив знаки числителя и знаменателя 12 · x 7 — x , получим 12 · x 7 — x = — 12 · x x — 7 .

После всех преобразований можем наконец перейти непосредственно к делению алгебраических дробей:

2 1 7 · x — 1 : 12 · x 7 — x = 14 x — 7 : — 12 · x x — 7 = 14 x — 7 · x — 7 — 12 · x = 14 · x — 7 x — 7 · — 12 · x = = 14 — 12 · x = 2 · 7 — 2 · 2 · 3 · x = 7 — 6 · x = — 7 6 · x

Ответ: 2 1 7 · x — 1 : 12 · x 7 — x = — 7 6 · x .

Как умножить или разделить алгебраическую дробь на многочлен

Чтобы выполнить такое действие, мы можем воспользоваться теми же правилами, что мы приводили выше. Предварительно нужно представить многочлен в виде алгебраической дроби с единицей в знаменателе. Это действие аналогично преобразованию натурального числа в обыкновенную дробь. Например, можно заменить многочлен x 2 + x − 4 на x 2 + x − 4 1 . Полученные выражения будут тождественно равны.

Условие: разделите алгебраическую дробь на многочлен x + 4 5 · x · y : x 2 — 16 .

Решение

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

x + 4 5 · x · y : x 2 — 16 = x + 4 5 · x · y : x 2 — 16 1 = x + 4 5 · x · y · 1 x 2 — 16 = = x + 4 5 · x · y · 1 ( x — 4 ) · x + 4 = ( x + 4 ) · 1 5 · x · y · ( x — 4 ) · ( x + 4 ) = 1 5 · x · y · x — 4 = = 1 5 · x 2 · y — 20 · x · y

Ответ: x + 4 5 · x · y : x 2 — 16 = 1 5 · x 2 · y — 20 · x · y .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *