Ruby等价于java BigInteger

Ruby等价于java BigInteger,java,ruby,Java,Ruby,我试图使用Ruby编程语言匹配Java中BigInteger的精度。有人知道Ruby的BigInteger等价物吗?Ruby会自动为您处理它: 1 << 32 # => 4294967296 1 << 65 # => 36893488147419103232 1 << 65535 # => 1001764965203...(lots of numbers)...859578368 14294967296 1 368934881474191

我试图使用Ruby编程语言匹配Java中BigInteger的精度。有人知道Ruby的BigInteger等价物吗?

Ruby会自动为您处理它:

1 << 32
# => 4294967296
1 << 65
# => 36893488147419103232
1 << 65535
# => 1001764965203...(lots of numbers)...859578368
14294967296
1  36893488147419103232
1001764965203…(大量数字)…859578368

不需要显式的“bignum”类型的类,因为正则整数可以做到这一点。

所有Ruby整数都是大的!几乎所有Ruby实现对整数值都没有(合理的)限制

解释器根据需要自动在FixNum和BigNum之间切换

该语言的更高版本隐藏了这些实现细节,但保留了巨大的整数范围


所以,使用任何旧的整数值,去城里

这就引出了一个问题(对于我们Java程序员来说):Ruby与32位整数或IEEE 754浮点数的等价物是什么?假设你想要这些特定的语义?Ruby有严格的整数和浮点值,但整数会根据值的大小改变其内部表示形式,浮点是一个包装,我相信是双精度的。@M.Prokhorov有一个,但它是一个定点表示形式,保持精度的东西,不会受到与浮点相同的近似问题的影响。