Тип complex64
Тип complex64 представляет комплексное число, состоящее из двух 32-битных чисел с плавающей точкой (тип float32): действительной и мнимой части. Этот тип занимает 8 байт памяти и используется для хранения комплексных чисел, где требуется баланс между точностью и производительностью. Для создания комплексного числа используются функции complex или литеральный синтаксис.
Синтаксис
var num complex64 = 1 + 2i
num := complex(3.5, 4.2)
Создание комплексного числа
Давайте создадим комплексное число с действительной частью 1.5 и мнимой частью 2.5:
package main
import "fmt"
func main() {
var num complex64 = 1.5 + 2.5i
fmt.Println(num)
}
Результат выполнения кода:
(1.5+2.5i)
Создание с помощью функции complex
Давайте создадим комплексное число, используя встроенную функцию complex:
package main
import "fmt"
func main() {
num := complex(3.14, 2.71)
fmt.Println(num)
}
Результат выполнения кода:
(3.14+2.71i)
Извлечение действительной и мнимой части
Для извлечения частей комплексного числа используются функции real и imag:
package main
import "fmt"
func main() {
num := complex(5.5, 3.3)
realPart := real(num)
imagPart := imag(num)
fmt.Println("Real:", realPart)
fmt.Println("Imag:", imagPart)
}
Результат выполнения кода:
"Real: 5.5"
"Imag: 3.3"
Арифметические операции
С комплексными числами можно выполнять стандартные арифметические операции:
package main
import "fmt"
func main() {
a := 1 + 2i
b := 3 + 4i
sum := a + b
diff := a - b
product := a * b
quotient := a / b
fmt.Println("Sum:", sum)
fmt.Println("Diff:", diff)
fmt.Println("Product:", product)
fmt.Println("Quotient:", quotient)
}
Результат выполнения кода:
"Sum: (4+6i)"
"Diff: (-2-2i)"
"Product: (-5+10i)"
"Quotient: (0.44+0.08i)"
Сравнение комплексных чисел
Комплексные числа можно сравнивать только на равенство с помощью операторов == и !=:
package main
import "fmt"
func main() {
a := 1 + 2i
b := 1 + 2i
c := 3 + 4i
fmt.Println("a == b:", a == b)
fmt.Println("a == c:", a == c)
fmt.Println("a != c:", a != c)
}
Результат выполнения кода:
"a == b: true"
"a == c: false"
"a != c: true"
Смотрите также
-
тип
complex128,
который представляет комплексное число с двойной точностью -
тип
float32,
который представляет 32-битное число с плавающей точкой -
тип
float64,
который представляет 64-битное число с плавающей точкой -
тип
array,
который представляет упорядоченный набор элементов одного типа