Рациональный тип данных

Рациональный тип данных — способ представления рациональных чисел используемый в программировании[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

См. также

Примечания

  1. Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#. Мастер класс. — 2-е изд., исправ.. — М., СПб.: Русская редакция, Питер, 2008. — С. 188—192. — 656 с.
  2. Взгляд со стороны: Стандарт IEEE754.
  3. Опалева Э., Самойленко В. Языки программирования и методы трансляции. СПб.: БХВ-Петербург, 2005. — С. 52. — 480 с. — ISBN 5-94157-327-8.
  4. Шмидский Яков. Mathematica 5. Самоучитель. — М., СПб., Киев: Вильямс, 2004. — С. 79. — 592 с. — ISBN 5-8459-0678-4.
  5. Fractions — Rational numbers. Официальный сайт Phyton Software Foundation.

Литература

  • Эльвира Опалева, Владимир Самойленко. Языки программирования и методы трансляции. — СПб.: БХВ-Петербург, 2005. — 480 с. — ISBN 5-94157-327-8.

Ссылки

  • Rational numbers — рациональные числа на языке Phyton
  • Rational — рациональные числа на языке LISP
  • Rational Numbers — рациональные числа на языке Haskell
  • Rational Structure — рациональные числа в пространстве имен Microsoft.SolverFoundation.Common Microsoft FrameWork
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.