c語言開根號運算符,golang2021數據類型(13)復數類型

            抖帥宮 271 2023-09-01

            c語言開根號運算符,golang2021數據類型(13)復數類型-第1張-觀點-玄機派

            來源頭條作者:清華編程學神尹成

            除了整型和浮點型之外,Go 語言還支持復數類型,與復數相對,我們可以把整型和浮點型這種日常比較常見的數字稱為實數,復數是實數的延伸,可以通過兩個實數(在計算機中用浮點數表示)構成,一個表示實部(real),一個表示虛部(imag),常見的表達形式如下:

            z = a + bi

            其中 a、b 均為實數,i 稱為虛數單位,當 b = 0 時,z 就是常見的實數,當 a = 0 而 b ≠ 0 時,將 z 稱之為純虛數,如果你理解數學概念中的復數概念,這些都很好理解,下面我們來看下復數在 Go 語言中的表示和使用。

            在 Go 語言中,復數支持兩種類型:complex64(32 位實部和虛部) 和 complex128(64 位實部與虛部),對應的表示示例如下,和數學概念中的復數表示形式一致:

            var complexValue1 complex64

            complexValue1 = 1.10 + 10i // 由兩個 float32 實數構成的復數類型

            complexValue2 := 1.10 + 10i // 和浮點型一樣,默認自動推導的實數類型是 float64,所以 complexValue2 是 complex128 類型

            complexValue3 := complex(1.10, 10) // 與 complexValue2 等價

            對于一個復數 z = complex(x, y),就可以通過 Go 語言內置函數 real(z) 獲得該復數的實部,也就是 x,通過 imag(z) 獲得該復數的虛部,也就是 y。

            復數支持和其它數字類型一樣的算術運算符。當你使用 == 或者 != 對復數進行比較運算時,由于構成復數的實數部分也是浮點型,需要注意對精度的把握。

            更多關于復數的函數,請查閱 math/cmplx 標準庫的文檔。如果你對內存的要求不是特別高,最好使用 complex128 作為計算類型,因為相關函數大都使用這個類型的參數。

            復數類型用于表示數學中的復數,如 1+2j、1-2j、-1-2j 等。復數實際上由兩個實數(在計算機中用浮點數表示)構成,一個表示實部(real),一個表示虛部(imag),如果了解了數學上的復數是怎么回事,那么對于Go語言中的復數就非常容易理解了。

            ?

            Go語言中有兩種復數類型,如下表所示。

            ?

            ?

            類型

            字節數

            說明

            complex64

            8

            64位的復數型,由float32類型的實部和部聯合表示

            complex128

            16

            128位的復數型,由float64類型的實部和虛部聯合表示

            表:復數類型

            可以通過Go語言內置的 complex() 函數構建復數,并通過內置的 real() 和 imag() 函數分別返回復數的實部和虛部,示例代碼如下所示:

            ?

            package ? ? ?main

            import (

            "fmt"

            )

            func main() {

            var x complex128 = complex(1, 2) //1+2i

            var y complex128 = complex(3, 4) //3+4i

            fmt.Println(x * y)?????????????? //(-5+10i)

            fmt.Println(real(x * y))???????? //-5

            fmt.Println(imag(x * y))???????? //10

            }

            運行結果如下:

            (-5+10i)

            -5

            10

            復數使用 re+imI 來表示,其中 re 代表實數部分,im 代表虛數部分,I 代表根號負 1。如果一個浮點數面值或一個十進制整數面值后面跟著一個 i,例如 3.141592i 或 2i,它將構成一個復數的虛部,復數的實部是 0:

            fmt.Println(1i*1i)?? // (-1+0i) ,i^2=-1

            如果 re 和im的類型均為 float32,那么類型為 complex64 的復數 c 可以通過以下方式來獲得:

            c = complex(re, im)

            函數 real(c) 和 imag(c) 可以分別獲得相應的實數和虛數部分。

            ?

            另外,復數支持和其它數字類型一樣的運算。當你使用等號 == 或者不等號 != 對復數進行比較運算時,注意對精確度的把握。cmath 包中包含了一些操作復數的公共方法。如果你對內存的要求不是特別高,最好使用 complex128 作為計算類型,因為相關函數都使用這個類型的參數

            ?

            上一篇:學易經的壞處(學易經會對自己有影響嗎)
            下一篇:中國有幾個經濟特區,中國經濟實力最強的100座城市7座城市超2萬億
            相關文章

             發表評論

            暫時沒有評論,來搶沙發吧~

            返回頂部小火箭
            国产成人亚洲合集青青草原精品| 亚洲1区1区3区4区产品乱码芒果 | 精品亚洲AV无码一区二区| 久久久亚洲欧洲日产国码农村| 国产亚洲自拍一区| 久久久久亚洲精品无码网址| 亚洲精品无码成人片在线观看 | 国产精品亚洲а∨无码播放| 亚洲色爱图小说专区| 国产自偷亚洲精品页65页| 国产亚洲精品精品国产亚洲综合| 中文字幕亚洲专区| 中文亚洲AV片在线观看不卡| 国产成人亚洲精品狼色在线| 亚洲香蕉成人AV网站在线观看| 国产亚洲自拍一区| 久久精品国产亚洲网站| 亚洲AV永久无码区成人网站| 亚洲AV人人澡人人爽人人夜夜| 亚洲人成在线影院| 亚洲白色白色在线播放| 亚洲videos| 亚洲国产成人久久一区二区三区| 亚洲av无码成人影院一区| 国产亚洲精品91| 久久久久亚洲av毛片大| 亚洲精品国产精品乱码在线观看| 亚洲av无码乱码国产精品| 亚洲五月六月丁香激情| 亚洲成人动漫在线观看| 精品亚洲456在线播放| 亚洲AV色欲色欲WWW| 亚洲人成无码网站久久99热国产| 最新精品亚洲成a人在线观看| 亚洲国产精品成人精品无码区| 日产亚洲一区二区三区| 亚洲一区电影在线观看| 亚洲爆乳精品无码一区二区| 亚洲av片一区二区三区| 在线精品亚洲一区二区小说| 亚洲an天堂an在线观看|