跳转到内容

有理数 (数据类型)

维基百科,自由的百科全书

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

有理数操作

[编辑]

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

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

语言支持

[编辑]
  • C++ 以其标准库 <ratio> 的形式包含有理数及其算术的支持。
  • Python标准库有Fraction来支持有理数及其算术。

参考

[编辑]