如何比较有理数?

Mic*_*ael 5 algorithm math

这是一个家庭作业问题.给定具有两个整数字段(分子和分母)的类"Rational",编写一个函数来比较两个"Rational"实例.让r1 = a/br2 = c/d.简单的解决方案是比较a*db*c.我们可以做得更好吗?

Pet*_*ham 3

通常分支的成本大于乘法的成本,因此除此之外不值得尝试变得聪明。如果您指的是 int32 整数,则提升为 int64 来执行乘法;如果您指的是更大的整数,那么您需要使用通常的机制来管理乘法,此时有关分支的假设可能会失效。