Elixir:算术表达式中的(ArithmeticError)错误参数

时间:2016-07-22 18:40:41

标签: math elixir

我有一个简单的计算:

Enum.reduce(1..5, 0, &:math.pow/2)

但是我收到了这个错误:

** (ArithmeticError) bad argument in arithmetic expression
    (stdlib) :math.pow(5, 262144.0)
    (elixir) lib/enum.ex:1478: anonymous fn/3 in Enum.reduce/3
    (elixir) lib/range.ex:80: Enumerable.Range.reduce/5
    (elixir) lib/enum.ex:1477: Enum.reduce/3

Elixir算术计算有限制吗?

1 个答案:

答案 0 :(得分:1)

您正在尝试计算5^262144 - 这样一个庞大的数字erlang躲避了。这个数字甚至不能用浮点数表示 - 最大浮点数约为1.7e308