我發現C99增加了_Complex
來支持複雜的算術運算。但是,我想知道爲什麼C99爲這樣一個與場相關的功能添加新的關鍵字(僅用於科學計算)。通過標準庫支持複雜類型不是更好嗎?爲什麼C99會爲複雜類型添加關鍵字?
-1
A
回答
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 –
相關問題
- 1. 爲什麼「var」關鍵字設置爲某種類型?
- 2. 什麼是複雜類型?
- 3. 爲什麼將Perl哈希值添加爲關鍵字?
- 4. 爲什麼axis2 1.6.2 java2wdsl.sh忽略複雜類型的類成員
- 5. 爲什麼數據類型不像int中的int關鍵字?
- 6. var關鍵字不是推斷RepeaterItem的類型,爲什麼?
- 7. 爲什麼在Julia中使用抽象類型關鍵字?
- 8. 爲什麼string-normalize-whitespace類型檢查關鍵字arg?
- 9. C99複雜鑄造
- 10. 爲什麼添加運算符會添加散列鍵值對?
- 11. 什麼是Rust類型關鍵字?
- 12. 爲什麼Rebol重複不會採用文字類型的值
- 13. 爲什麼添加多態類型簽名會降低性能?
- 14. 爲什麼gcc -std = c99將關鍵字asm當作函數處理?
- 15. 爲什麼我會爲此查詢獲取「缺少關鍵字」?
- 16. 爲什麼.NET的複雜類型被破壞?
- 17. 爲什麼簡單類型的序列化如此複雜?
- 18. 爲什麼c中使用複雜的空類型?
- 19. 任何添加到複雜類型
- 20. 我不明白爲什麼我的類映射爲複雜類型
- 21. 因爲在WCF中傳遞複雜類型會出現什麼問題?
- 22. 爲什麼添加一種認證形式很複雜?
- 23. 實體框架6將現有的複雜類型添加到關鍵列
- 24. 爲什麼「加載」在審覈SEO時被視爲關鍵字?
- 25. CXF Webservice不會爲所有類生成複雜類型
- 26. 爲什麼Rust在「impl」關鍵字之後需要泛型類型聲明?
- 27. 爲什麼msgpack_object類型的MsgPack鍵?
- 28. 爲什麼不是ASP.NET MVC 3爲複雜類型解析我的DisplayTemplate?
- 29. 爲什麼在WSDL中沒有爲複雜類型創建序列
- 30. 爲什麼我們不爲短類型添加「s」後綴?
您不能通過庫支持'+'等運算符,C語法不允許這樣做。 –
這對於[信號處理,控制理論,電磁,流體動力學,量子力學,製圖,振動分析]等許多領域都很有用(https://en.wikipedia.org/wiki/Complex_number#Applications) –
我沒有看到當理論依據文件中有客觀可證實的答案時,這是如何「基於意見」的。 –