안녕하세요. 언제나 휴일, 언휴예요.
통계나 물리 엔진 등을 개발할 때 실수 뿐만 아니라 복소수를 계산할 때가 있어요. Go언어에서는 복소수를 표현할 수 있는 형식으로 complex64와 complex128을 제공하고 있어요.
complex64 형식은 float32 실수부와 허수부로 구성하며 complex128 형식은 float64 실수부와 허수부로 구성하고 있어요. 프로젝트를 새로 생성하여 복소수를 표현해 보아요.
// Example 복소수 표현 package main import "fmt" func main() { var c1 complex64 = 1 + 2i //실수부와 허수부 var c2 complex64 = 3i //허수부만 있을 때 var c3 complex64 = 2.0 //실수부만 있을 때 fmt.Println(c1 + c2) //복소수 덧셈 fmt.Println(c1 - c3) //복소수 뺄셈 var f1 = real(c1) //실수부 추출 var f2 = imag(c1) //허수부 추출 fmt.Println(f1) fmt.Println(f2) var c4 = complex(f1, f2) //complex 함수로 복소수 합성 fmt.Println(c4) }
Go언어에서 복소수 형식 변수에 값을 초기화할 때 실수부와 허수부, 허수부만 있을 때, 실수부만 있을 때 값을 표현할 수 있어요.
- 복소수 형식 변수에 값을 초기화
var c1 complex64 = 1 + 2i //실수부와 허수부 var c2 complex64 = 3i //허수부만 있을 때 var c3 complex64 = 2.0 //실수부만 있을 때
그리고 복소수에서 실수부를 추출할 때는 real 함수를 사용하고 허수부를 추출할 때는 imag 함수를 사용합니다.
- 복소수에서 실수부와 허수부 추출
var f1 = real(c1) //실수부 추출 var f2 = imag(c1) //허수부 추출
complex 함수를 이용하여 복소수를 합성할 수도 있어요.
- complex 함수로 복소수 합성
var c4 = complex(f1, f2) //complex 함수로 복소수 합성