Tag: bignum

RangeError:bignum太大而无法转换成`long’

num = “0000001000000000011000000000000010010011000011110000000000000000” for n in 0…num.length temp = num[n] dec = dec + temp*(2**(num.length – n – 1)) end puts dec 当我在irb中运行此代码时,以下错误消息是输出。 当我在python中编译相同的逻辑时,它工作得非常好。 我用谷歌搜索了“RangeError:bignum太大而无法转换为’long’:但没有找到相关的答案。请帮帮我:(先谢谢你。 RangeError:bignum太大而无法转换为long’ from (irb):4:in long’ from (irb):4:in long’ from (irb):4:in *’ from(irb):4:in in block in irb_binding’ from (irb):2:in block in irb_binding’ from (irb):2:in block in irb_binding’ from (irb):2:in每个’ 来自(irb):2 来自C:/ Ruby193 […]

使用Ruby进行任意精度算术

Ruby如何做到这一点? Jörg或其他任何人都知道幕后发生了什么吗? 不幸的是我不太了解C,所以bignum.c对我没什么帮助。 我有点好奇,有人可以用简单的英语解释它使用的奇迹算法背后的理论。 irb(main):001:0> 999**999