作者:爱到最后还是分离_851 | 来源:互联网 | 2023-05-25 15:06
如何获得灵丹妙药中每种类型的最小值和最大值?例如,一个整数,浮点数和一个字符串的最大可能长度.
我知道在C中它定义为limits.h
as INT_MIN
,INT_MAX
依此类推.关于灵丹妙药中这些类型的限制的文件?
1> whatyouhide..:
Elixir(Erlang实际上)使用bignum算术,这是计算机科学中使用的一种算法(引用维基百科)
对精度数位仅受主机系统可用内存限制的数字执行计算
在Erlang文档中有一个页面讨论了Erlang VM的限制(例如,原子最多可以包含255个字符); 正如您所看到的,如果您查看该页面,甚至没有提到整数限制.
Erlang/Elixir中的整数仅受系统可用内存的限制,因此几乎没有限制它们的大小.
对于二进制文件(字符串),我将引用上面链接的页面说:
在Erlang的32位实现中,536870911字节是可以使用位语法构造或匹配的最大二进制文件.(在64位实现中,最大大小为2305843009213693951字节.)如果超出限制,则位语法构造将失败并出现system_limit异常,而任何与过大的二进制文件匹配的尝试都将失败.从R11B-4版本开始强制实施此限制; 在早期版本中,对太大二进制文件的操作通常会失败或给出不正确的结果.在将来的Erlang/OTP版本中,创建二进制文件的其他操作(例如list_to_binary/1)可能也会强制执行相同的限制.