Рациональный тип данных
Рациональный тип данных — способ представления рациональных чисел, используемый в программировании[1]. Рациональные числа в ЭВМ представляются таким образом, чтобы отдельно хранить числитель числа, а отдельно знаменатель числа, что позволяет избежать проблему округления чисел при выполнении математических операций, как это бывает при использовании переменных, хранимых в форме с плавающей запятой или фиксированной запятой[2]. Математические операции над рациональными числами моделируются программно[3][4]. В некоторых языках программирования для подключения возможности работы с рациональными числами используются модули, в которых реализована работа с рациональными числами и которые позволяют работать с числами, представленными в других формах[5].
Пример хранения
Например, в ЭВМ необходимо работать с рациональным числом:
Для его хранения выделяется отдельная область памяти для хранения числителя , отдельно для знаменателя . При работе с рациональным числом отдельно работают с числителем, отдельно с знаменателем, при этом точность вычисления не теряется, как происходит при хранении чисел с плавающей запятой[3].
Пример работы с рациональными числами на языке Python
from fractions import Fraction # Подключение функции Fraction для использования
n1=Fraction(1,3) # Рациональное число 1/3
n2=Fraction(2,3) # Рациональное число 2/3
n3=1/3 # Вещественное число 1/3
r1=n1+n2 # Математическая операция на множестве рациональных чисел
r2=n1+2 # Математическая операция на множестве рациональных и целых чисел
print("Ответ:",r1)
>> Ответ: 1
print("Ответ:",r2)
>> Ответ: 7/3
print("Ответ:",n3)
>> Ответ: 0.3333333333333333
См. также
Примечания
- ↑ Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#. Мастер класс. — 2-е изд., исправ.. — М., СПб.: Русская редакция, Питер, 2008. — С. 188—192. — 656 с.
- ↑ Взгляд со стороны: Стандарт IEEE754 . Дата обращения: 10 августа 2018. Архивировано 10 августа 2018 года.
- ↑ 1 2 Опалева Э., Самойленко В. Языки программирования и методы трансляции. — СПб.: БХВ-Петербург, 2005. — С. 52. — 480 с. — ISBN 5-94157-327-8.
- ↑ Шмидский Яков. Mathematica 5. Самоучитель. — М., СПб., Киев: Вильямс, 2004. — С. 79. — 592 с. — ISBN 5-8459-0678-4.
- ↑ Fractions — Rational numbers . Официальный сайт Phyton Software Foundation. Дата обращения: 25 июля 2018. Архивировано 25 июля 2018 года.
Литература
- Эльвира Опалева, Владимир Самойленко. Языки программирования и методы трансляции. — СПб.: БХВ-Петербург, 2005. — 480 с. — ISBN 5-94157-327-8.
Ссылки
- Rational numbers — рациональные числа на языке Phyton
- Rational — рациональные числа на языке LISP
- Rational Numbers — рациональные числа на языке Haskell
- Rational Structure — рациональные числа в пространстве имен Microsoft.SolverFoundation.Common Microsoft FrameWork