use*_*013 5 ruby java equivalent
Java 的Integer.MAX_VALUE?. 希望是土生土长的。
亚军:如果没有等效项,我需要为 Time 对象设置它,因此不是对整数 2116-02-20 硬编码最大日期,是否有适用于此的系统常量?
整数不再有最大值,它们会自动转换为“bignum”表示:
1 << 64
# => 18446744073709551616
(1 << 64) + 1
# => 18446744073709551617
Run Code Online (Sandbox Code Playgroud)
除了内存之外真的没有限制:
1 << (1 << 16)
# => 20035299304...(thousands of digits)...05719156736
Run Code Online (Sandbox Code Playgroud)
至于时间,它同样是无限的,所以现在如果你真的想要,你可以在宇宙热死之后很好地表达时间:
Time.at(1<<128)
# => 10783118943836478994022445751222-08-06 04:04:16 -0400
Run Code Online (Sandbox Code Playgroud)
这曾经被限制在通常的 +/- 21 亿范围内,受2038 年问题的影响,但自 Ruby ~1.9 以来情况并非如此。除了从 Windows 的角度来看,我不确定 2116 的因素在哪里。
如果您想知道可以用“本机”整数表示的最大值/最小值,那么这取决于平台。32 位和 64 位二进制文件将有不同的限制。
| 归档时间: |
|
| 查看次数: |
5922 次 |
| 最近记录: |