Ruby获得最大整数大小值

问题描述 投票:1回答:1

什么是Java qazxsw poi的Ruby等价物。希望本土。

亚军:如果没有等价物,我需要为Time对象设置它,所以不是硬编码整数2116-02-20的最大日期,是否有一个系统常量可以用于此?

java ruby equivalent
1个回答
3
投票

整数没有最大值,它们会自动转换为“bignum”表示:

Integer.MAX_VALUE?

除了记忆之外,真的没有限制:

1 << 64
# => 18446744073709551616
(1 << 64) + 1
# => 18446744073709551617

至于时间,它同样是无限的,所以现在你可以在宇宙热死之后很好地表达时间,如果你真的想:

1 << (1 << 16)
# => 20035299304...(thousands of digits)...05719156736

这曾经被限制在通常的+/- 21亿范围内,受Time.at(1<<128) # => 10783118943836478994022445751222-08-06 04:04:16 -0400 的限制,但自Ruby~1.9以来情况并非如此。除了从Windows的角度来看,我不确定2116因素在哪里。

如果你想知道可以用“原生”整数表示的最大/最小值,那么这取决于平台。 32位和64位二进制文​​件具有不同的限制。

© www.soinside.com 2019 - 2024. All rights reserved.