有理数 (数据类型)

有些编程语言提供内置的有理数数据类型来精确表示有理数（如 1/3 或 -17/29），而不需要四舍五入。

 有理数操作 
该类型的变量通常表示为分数 m/n，其中 m 和 n 是两个整数，具有固定或任意精度。根据语言的不同，分母 n 可以限制为非零，并且两个数字可以保持简化形式（除 1 外没有任何公约数）。

支持有理数据类型的语言通常提供用于构建此类值的特殊语法，并且还扩展了基本的算术运算以作用于它们。这些操作可以由编译器转换为整数计算指令序列，或转换为库调用。支持还可以扩展到其他操作，例如比较、格式化、四舍五入为整数或浮点数等。与数学上的看法一样，需要类型转换时，这些语言通常将整数解释为带有分母 1 的有理数。

 语言支持 
C++ 以其标准库 <ratio> 的形式包含有理数及其算术的支持。
Python标准库有Fraction来支持有理数及其算术。

 参考 

Category:数据类型