我有一个简单的计算:
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算术计算有限制吗?
答案 0 :(得分:1)
您正在尝试计算5^262144
- 这样一个庞大的数字erlang躲避了。这个数字甚至不能用浮点数表示 - 最大浮点数约为1.7e308