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

Материал из testwiki
Перейти к навигации Перейти к поиску

Рациональный тип данных — способ представления рациональных чисел, используемый в программировании[1]. Рациональные числа в ЭВМ представляются таким образом, чтобы отдельно хранить числитель числа, а отдельно знаменатель числа, что позволяет избежать проблему округления чисел при выполнении математических операций, как это бывает при использовании переменных, хранимых в форме с плавающей запятой или фиксированной запятой[2]. Математические операции над рациональными числами моделируются программно[3][4]. В некоторых языках программирования для подключения возможности работы с рациональными числами используются модули, в которых реализована работа с рациональными числами и которые позволяют работать с числами, представленными в других формах[5].

Пример хранения

Например, в ЭВМ необходимо работать с рациональным числом: Шаблон:Center

Для его хранения выделяется отдельная область памяти для хранения числителя 1, отдельно для знаменателя 3. При работе с рациональным числом отдельно работают с числителем, отдельно с знаменателем, при этом точность вычисления не теряется, как происходит при хранении чисел с плавающей запятой[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

См. также

Примечания

Шаблон:Примечания

Литература

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

Ссылки

  • Rational numbers — рациональные числа на языке Phyton
  • Rational — рациональные числа на языке LISP
  • Rational Numbers — рациональные числа на языке Haskell
  • Rational Structure — рациональные числа в пространстве имен Microsoft.SolverFoundation.Common Microsoft FrameWork

Шаблон:Типы данных Шаблон:Compu-prog-stub