【问题标题】:Square negative number in gogo中的平方负数
【发布时间】: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

有没有办法解决这个问题?

【问题讨论】:

    标签: go math exponent math.sqrt


    【解决方案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))))
    

    【讨论】:

    • 随意接受答案,让其他人看到,问题已解决;)
    猜你喜欢
    • 1970-01-01
    • 2017-08-18
    • 2015-09-06
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2019-02-08
    • 2017-06-06
    相关资源
    最近更新 更多