猿问

Go 中复数的“实部”和“虚部”有什么区别?

当我遇到一些奇怪的事情时,我正在阅读 Go 的complex128complex64数据类型的文档:

“complex128 是所有具有 float64 实部和虚部的复数的集合。”

和:

“complex64 是所有具有 float32 实部和虚部的复数的集合。”

进一步来说:

“实部和虚部。”

这是什么意思?一个数字怎么可能是“实数”“虚数”


九州编程
浏览 131回答 2
2回答

繁星coding

老实说,这个问题不是专门针对 GoLang 的。复数是一个数学概念。这是一个例子:import (  "fmt"  "math/cmplx")func main() {  fmt.Println(cmplx.Sqrt(-1))}预期输出:(0+1i)有一个名为“cmplx”的包可以处理复数。所以 cmplx 的 Sqrt 类似于 math one,但它返回的是一个复数。0如您所见, 和 输出由和组成1i,最后一个是虚部,因为我们无法获得 的平方根"-1"。

万千封印

唯一特定于 Go 的主题是“复杂”类型是 Go 中内置的,因此与其他语言不同,您可以在不导入额外包的情况下对它们执行基本操作:package mainimport (  "fmt")func main() {  c1 := 1i  c2 := 2 + 3i  fmt.Println(c1 * c1) // i^2 = -1  fmt.Println(c1 + c2) // i + (2+3i) = 2+4i}游乐场。对于更高级的操作,您可以使用math/cmplx包,类似于math实数包(如习惯的答案)。
随时随地看视频慕课网APP

相关分类

Go
我要回答