【问题标题】:multiplication of very large with small values [closed]非常大与小值的乘法[关闭]
【发布时间】:2015-06-18 17:13:37
【问题描述】:

由于二项式系数较大,我总结了一个数字作为大整数(来自 gmp)包

Big Integer ('bigz') :
[1] > chooseZ(1599,999)

大整数('bigz'): [1] 64702725976477841685087011694882593433664461459998756503370133423490886710992479387020713114439119078572270410565905096678530812549132718109065352925330156276352159906752920126061592461003982967533637590930195693832792290806000097619179060714793020167850667221328682056807933391950779186595385360309444776548462757363488307499961774581415255778468273486215727708155489945082243963752226921889401251140938597561863975549109487674702867681182063412410767713200 P>

现在我需要将它与

相乘
[1] 1.884357e-08

如果我转换成大整数,我会发现数字 1.88 e-8 只是四舍五入为 0,这意味着乘法为 0。如何将 R 中的两个数字相乘

【问题讨论】:

  • 您的二项式系数在 R 使用的 IEEE 754 双精度浮点格式的范围内。如果您只是将大整数转换为浮点数,然后将该浮点数与你的小号?
  • 我也有数字不是......这是主要问题......就像在更新中......
  • 没人能提出建议吗?

标签: r floating-point multiplication


【解决方案1】:

你不能将你的大数除以 1x10^8(作为整数)然后乘以 18884357 吗?

【讨论】:

  • 我需要一次又一次地执行这些操作,是否有类似函数之类的函数可以对所有数字执行您的支持?
  • 这个答案也是错误的,因为如果除以 1e8 并乘以数字与乘以最初使用的数字不同
  • 尝试使用bigz函数S:a
【解决方案2】:

尝试改用大理性:

huge <- as.bigq(yourcoef,d=1)
tiny <- as.bigq(yoursmall,d=1)
mul.bigq(huge,tiny)

【讨论】:

  • 它告诉我有功能 bigq.mu 不是...否则可以工作但在官方文档中找不到该功能
  • 对不起,我打错了。
猜你喜欢
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 2016-01-16
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
相关资源
最近更新 更多