【发布时间】:2011-08-26 14:20:02
【问题描述】:
我必须根据以下实现做一些逻辑。
我有一个高达 36 位的大数字,例如913695089923267549815145223638290430(不同应用随机生成)。我需要将它除以长度更小的任何数字,比如 70368844197664;(由不同的应用程序随机生成)假设我得到的商为 19956694.3256
对于我的代码,只有小数点前商的最后一位(即 4)很重要。目的是检查商是偶数还是奇数,如果可能的话,最后一位的值也是如此。
我不能使用模数或除法等简单的数据库函数,因为它非常耗时。有没有更快更有效的方法?任何建议都将受到高度赞赏。
非常感谢。
问候 尼拉杰
【问题讨论】:
-
因此,给定 128 位
unsigned int m和 64 位unsigned int n,您要计算(m / n) % 10。那正确吗?这是一个奇怪的要求!它表明某些东西需要重新设计。你需要它做什么? -
@TonyK:我不能改变需求,但它就在那里。问题是数学问题而不是程序问题。但是我试试我的运气
-
您需要在查询中还是在函数/过程中使用它?
-
我需要在代码中使用它,但我们将其移至 sql 查询并更改了一些设计逻辑,因此它对我们有用。
标签: mysql sql-server oracle teradata