首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁用浮点做非十进制的大数?

谁用浮点做非十进制的大数?
EN

Stack Overflow用户
提问于 2009-04-05 13:58:26
回答 3查看 170关注 0票数 1

尽管Tcl库math::bignum和math::bigfloat很不错,但两者之间的中间地带需要解决。也就是说,bignums在不同的基中,并且有一个radix point

目前,math::bignum只处理整数(afaict),而math::bigfloat不允许你为math::bigfloat::fromstr (同上)指定不同的基。

有没有人知道针对主流脚本语言(如Tcl、Perl、Python、Ruby、Lua)或次要脚本语言(例如newLISP)的库,它可以在不同的基数中实现bignums并处理基数?

EN

回答 3

Stack Overflow用户

发布于 2012-11-17 03:17:17

bignumber.js是一个Javascript库,它处理基数为2到36的小数点的数字。

票数 1
EN

Stack Overflow用户

发布于 2009-04-05 14:26:58

我找不到任何用于此的库,但我找的时间不长。

但是,您可以解决这个问题,类似于您需要64位数据类型时所做的操作,但只有32位数据类型可用。有了你已经拥有的库,你应该能够以b为基数表示一个数字,如下所示:

代码语言:javascript
复制
 ABCDEF.GHIJKLMN

可以分为两个大数ABCDEF和GHIJKLMN。GHIJKLMN实际上表示GHIJLMN / pow(b,length(GHIJKLMN)) => GHIJKLM / pow(b,8)。现在你可以覆盖你需要的运算符,这些运算符应该可以用于+,-,*,/之类的东西。如果你需要更多像sqrt、log或pow这样的东西,这个变通方法会变得太复杂,你真的应该寻找一个库。

票数 0
EN

Stack Overflow用户

发布于 2009-04-15 06:01:37

最好的办法是使用GMP (libgmp)。

我自己已经花了很长时间和努力寻找.NET版本,但没有运气。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/718966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档