非常大与小值的乘法 [英] multiplication of very large with small values

查看:195
本文介绍了非常大与小值的乘法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

作为大二项式系数的结果,我总结抱歉地存储了一个数字作为大整数(来自gmp)包

  Big Integer('bigz'):
[1]>选择Z(1599,999)

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



现在我需要与

  [1乘以它] 1.884357e-08 

如果我转换成大整数,我得到的数字是1.88 e-8只是四舍五入为0,这意味着乘法是0.我怎样才能在R中乘以两个数字?解决方案尝试使用大理性代替:

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


as the result of a large binomial coefficient I summed sorry stored a number as big integer (from the gmp) package

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

Big Integer ('bigz') : [1] 64702725976477841685087011694882593433664461459998756503370133423490886710992479387020713114439119078572270410565905096678530812549132718109065352925330156276352159906752920126061592461003982967533637590930195693832792290806000097619179060714793020167850667221328682056807933391950779186595385360309444776548462757363488307499961774581415255778468273486215727708155489945082243963752226921889401251140938597561863975549109487674702867681182063412410767713200

now I would need to multiply it with

[1] 1.884357e-08

if I convert into big integer I get that the number 1.88 e-8 is just rounded to 0 which means the multiplication is 0. How can I multiply both numbers in R

解决方案

Try use big rational instead:

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

这篇关于非常大与小值的乘法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆