为什么exponent(0.0)是一个DomainError?

时间:2016-09-23 02:18:20

标签: floating-point julia

为什么exponent(0.0)会出错?似乎0.0的指数应该与1.0的指数相同,因为0是一个Int,我很困惑为什么它会超出域(或者它是一个bug?但是因为这里设置了一个错误,所以它似乎是一个有意识的选择)。

1 个答案:

答案 0 :(得分:5)

让我们看看值:

julia> exponent(2.0)                                                                                                                                       
1 --- 2^1 = 2

julia> exponent(4.0)                                                                                                                                       
2 --- 2^2 = 4

julia> exponent(1.0)                                                                                                                                       
0 --- 2^0 = 1

julia> exponent(0.5)                                                                                                                                       
-1 --- 2^-1 = 0.5

julia> exponent(0.25)                                                                                                                                       
-2 --- 2^-2 = 0.25

.
.
.

这意味着:

julia> exponent(0.0)                                                                                                                                       
-∞ --- 2^-∞ = 0.0

负无穷大导致域错误。