go中的平方负数
Posted
技术标签:
【中文标题】go中的平方负数【英文标题】:Square negative number in go 【发布时间】:2018-10-30 23:00:17 【问题描述】:我在对负数求平方时遇到问题...
(2*(1-0.5)-4)/((4*(4-2))/(2-1))^(1/2) = -1.06066017
但是随着 go 我得到 NaN
package main
import (
"fmt"
"math"
)
func main()
fmt.Print(math.Sqrt((2*(1-0.5) - 4) / ((4 * (4 - 2)) / (2 - 1))))
或者如果我像这样使用math.Abs
:
fmt.Print(math.Sqrt(math.Abs((2*(1-0.5) - 4) / ((4 * (4 - 2)) / (2 - 1)))))
我回复了:0.6123724356957
那不正确,正确的结果是:-1.06066017
有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:问题是:
(2*(1-0.5)-4)/((4*(4-2))/(2-1))^(1/2)
在您的计算器中计算为(2*(1-0.5)-4)
除以((4*(4-2))/(2-1))^(1/2)
,这确实得出-1.06..
。
但是你给了 Go (2*(1-0.5)-4)/((4*(4-2))/(2-1))
,这是一个负数,并告诉它计算它的平方根,这会很复杂。
那就试试吧:
fmt.Print((2*(1-0.5) - 4) / math.Sqrt(((4 * (4 - 2)) / (2 - 1))))
【讨论】:
随意接受答案,让其他人看到,问题已解决;)以上是关于go中的平方负数的主要内容,如果未能解决你的问题,请参考以下文章