java - Ruby 获取最大整数大小值

标签 java ruby equivalent

Java 的 Integer.MAX_VALUE 的 Ruby 等价物是什么?。希望是原生的。

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

最佳答案

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

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

除了内存之外真的没有限制:

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

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

Time.at(1<<128)
# => 10783118943836478994022445751222-08-06 04:04:16 -0400

这过去被限制在通常的 +/- 21 亿范围内,受制于 2038 problem但自从 Ruby ~1.9 以来就不是这样了。除了从 Windows 的角度来看,我不确定 2116 因素在哪里。

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

关于java - Ruby 获取最大整数大小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47893757/

相关文章:

java - 如何将 chrome 浏览器缩放至 67%,然后单击下一步按钮。?

java - 我们应该在哪里调用 setPin() 以在 android 中进行蓝牙配对?

ruby-on-rails - 如何取消 join/eager_load 中的 default_scope?

java - 使用 Jetty 标记文件编码

java - 使用 PreferenceScreen 时重置首选项

ruby - Heroku for Middleman 站点上的应用程序错误

ruby - 续集,传值给pg_array查询

c# - C# 中的等效语法是什么(如果有)?

c# - Python slice 操作的可读 C# 等价物

Java:我可以在枚举中使用两个不同的名称来算作同一事物吗?