2014-12-21 69 views
-1

我發現C99增加了_Complex來支持複雜的算術運算。但是,我想知道爲什麼C99爲這樣一個與場相關的功能添加新的關鍵字(僅用於科學計算)。通過標準庫支持複雜類型不是更好嗎?爲什麼C99會爲複雜類型添加關鍵字?

+2

您不能通過庫支持'+'等運算符,C語法不允許這樣做。 –

+1

這對於[信號處理,控制理論,電磁,流體動力學,量子力學,製圖,振動分析]等許多領域都很有用(https://en.wikipedia.org/wiki/Complex_number#Applications) –

+1

我沒有看到當理論依據文件中有客觀可證實的答案時,這是如何「基於意見」的。 –

回答

5

您可以參考C99理由文檔的信息,爲什麼這個決定是:

http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf

在第42頁,16-20讀線:

的一個新特點C99:將複雜類型添加到C中,作爲使C適用於一般數值編程並且具有吸引力的一部分。複雜的算術在某些重要的應用領域被大量使用。

複雜類型的底層實現是笛卡兒而不是極性,以實現與其他編程語言的整體效率和一致性。明確規定實施,以便可以簡單明確地定義特徵和行爲。

所以它的基本動機似乎是讓C更具「吸引力」,或者對於數值編程更具競爭力,如果我沒有弄錯的話,仍然是Fortran占主導地位的領域。

+3

關閉記錄 - 幫助吸引Fortran程序員轉換爲C –

相關問題