Рациональный тип данных — способ представления рациональных чисел, используемый в программировании. Рациональные числа в ЭВМ представляются таким образом, чтобы отдельно хранить числитель числа, а отдельно знаменатель числа, что позволяет избежать проблему округления чисел при выполнении математических операций, как это бывает при использовании переменных, хранимых в форме с плавающей запятой или фиксированной запятой. Математические операции над рациональными числами моделируются программно. В некоторых языках программирования для подключения возможности работы с рациональными числами используются модули, в которых реализована работа с рациональными числами и которые позволяют работать с числами, представленными в других формах.
Пример хранения Например, в ЭВМ необходимо работать с рациональным числом:
Для его хранения выделяется отдельная область памяти для хранения числителя , отдельно для знаменателя . При работе с рациональным числом отдельно работают с числителем, отдельно с знаменателем, при этом точность вычисления не теряется, как происходит при хранении чисел с плавающей запятой.
Пример работы с рациональными числами на языке 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
Категория:Арифметика с плавающей запятой Категория:Типы данных Категория:Компьютерная арифметика