复数型
说明
说明
在 Go 语言中,复数是一种内置的数据类型,使用 complex64
和 complex128
表示。它们由两个部分组成:实部和虚部,均为浮点数
复数类型
complex64
:实部和虚部都是float32
complex128
:实部和虚部都是float64
创建复数
package main
import "fmt"
func main() {
// 方法1,通过 complex 函数定义,定义一个实部为3,虚部为4的复数
c1 := complex(3, 4)
// 方法2,直接通过字面量定义,定义一个实部为3,虚部为4的复数
c2 := 3 + 4i
// 方法3,通过关键字定义
var c64 complex64 = 3.14 + 2.7i // 由两个float32组成
var c128 complex128 = 3.14 + 2.7i // 由两个float64组成
fmt.Printf("复数类型示例:\n")
fmt.Printf("c1: %v\n", c1)
fmt.Printf("c2: %v\n", c2)
fmt.Printf("complex64: %v\n", c64)
fmt.Printf("complex128: %v\n", c128)
fmt.Printf("real部分: %f\n", real(c64))
fmt.Printf("imag部分: %f\n", imag(c64))
}
输出
复数类型示例:
c1: (3+4i)
c2: (3+4i)
complex64: (3.14+2.7i)
complex128: (3.14+2.7i)
real部分: 3.140000
imag部分: 2.700000
获取实部和虚部
package main
import "fmt"
func main() {
c1 := complex(3, 4)
//c2 := 3 + 4i
fmt.Println(real(c1)) // 输出3
fmt.Println(imag(c1)) // 输出4
}
输出
3
4
复数运算
复数乘法
复数乘法的核心是:
实部通过两个实部相乘减去两个虚部相乘 虚部通过交叉相乘再相加
实部 5x3 - 6x4 = -9
虚部 5x4 + 3x6 = 38i
复数除法
定义的复数为:
-
其中:
- 实部:
- 虚部:
-
其中:
- 实部:
- 虚部:
对于复数 和 ,其商的公式为:
详细计算过程
1.分母
2.分子
分解计算
-
实部
-
虚部
分子为
商
化简
最终结果
package main
import (
"fmt"
)
func main() {
a := complex(5, 6)
b := 3 + 4i
fmt.Println("a:", a)
fmt.Println("b:", b)
fmt.Println("实部 a:", real(a))
fmt.Println("虚部 a:", imag(a))
// 复数运算
fmt.Println("加法:", a+b)
fmt.Println("减法:", a-b)
fmt.Println("乘法:", a*b)
fmt.Println("除法:", a/b)
}
输出
a: (5+6i)
b: (3+4i)
实部 a: 5
虚部 a: 6
加法: (8+10i)
减法: (2+2i)
乘法: (-9+38i)
除法: (1.56-0.08i)