英文:
Go math package has invalid result
问题
我刚刚在我的电脑上运行了这段代码:
package main
import (
"fmt"
"math"
)
func main() {
const ali = 4e20
fmt.Println(math.Sin(ali))
}
并得到了以下结果:
1.3471173831553043e+258
为什么正弦函数的结果超过了1?
Python和其他一些语言的结果是正确的。
英文:
I just ran this code on my pc:
package main
import (
"fmt"
"math"
)
func main() {
const ali = 4e20
fmt.Println(math.Sin(ali))
}
and got this result:
1.3471173831553043e+258
Why Sin result goes more than 1?
Python and some other languages have correct result
答案1
得分: 2
似乎只是实现的问题,如果输入大于2**49,会导致问题。在这里找到了一个非常古老的问题链接。
英文:
It seems like it's just an issue with the implementation, if the input is more than 2**49 it causes issues. Found a really old issue here
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论