gmp
从运行时我注意到以下内容R
:
Rgames> log2(Inf)
[1] Inf
Rgames> log2(as.bigz(Inf))
[1] 8000
这里发生了什么事?还是gmp
语言(或gmp::log2.bigz
方法)不支持“Inf”的概念?
编辑:乔希的评论是正确的:这不是log2
函数本身,而是as.bigz
似乎转换Inf
为整数2^8000
的事实。bigz
更改标题以匹配。
顺便说一句,还有这个:
Rgames> log2(-Inf)
[1] NaN
Warning message:
NaNs produced
Rgames> log2(as.bigz(-Inf))
[1] NaN
编辑:那是愚蠢的。log2(negative_anything)
是NaN
但,
Rgames> log2(-as.bigz(-Inf))
[1] 8000
符合乔希的回答。