Erlang如何存储大量数据?

时间:2016-04-16 01:17:20

标签: functional-programming erlang

我一直在修改一个因子模块如下:

-module(factorial).
-export([factorial/1]).

factorial(0) ->
    1;
factorial(Val)->
    Val * factorial(Val-1).

如果我跑:

1> c(factorial).
{ok,factorial}
2> factorial:factorial(100).

我得到: 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

Erlang如此轻松地拥有如此庞大的数字?在erlang.org上谈到数字类型时,它只是声明它们包含整数或浮点数。它必须是某种动态整数,根据需要调整其字节大小?

我发现这很酷我只是不知道它是如何完成的。

1 个答案:

答案 0 :(得分:4)

这是许多函数式编程语言的一个共同特征,称为Arbitrary precision arithmetic

请注意,在Erlang中,nly for integers, not floats可以使用任意精度。

相关问题