Комплексный тип данных

Pause

Некоторые языки программирования предоставляют специальный тип данных для комплексных чисел. Наличие встроенного типа упрощает хранение комплексных величин и выполнение операций над ними.

Арифметика над комплексными числами

Комплексные переменные и значения обычно хранятся как пара чисел с плавающей запятой. Языки, поддерживающие встроенный тип для комплексных величин, обычно предоставляют специальный синтаксис для инициализации комплексных переменных (например, CMPLX(R, I) в фортране) и расширяют действие основных арифметических операций ('+', '−', '×', '/'). Эти операции обычно транслируются компилятором в последовательность инструкций по обработке чисел с плавающей запятой или в вызовы функций специальной библиотеки. Иногда также предоставляются функции вывода комплексных, сравнения их на равенство и другие. Как и в математике, языки с поддержкой комплексных типов могут использовать обычные числа с плавающей запятой как комплексные с нулевой мнимой частью.

Поддержка в языках

  • FORTRAN, тип COMPLEX поддерживается начиная с FORTRAN IV. В FORTRAN II существовала поддержка с иным синтаксисом и возможностями.[1]
  • Язык Си, начиная со стандарта C99 включительно. Комплексный тип обозначается ключевым словом _Complex. Реализовано множество математических функций над комплексными числами. Требуется использование заголовочного файла <complex.h>
  • Язык C++ включает поддержку шаблонного класса complex и математических функций (заголовочный файл <complex>)
  • Perl предоставляет модуль Math::Complex, включённый во все поставки
  • Python поддерживает встроенный тип complex. Мнимые константы обозначаются добавлением суффикса «j». Комплексные математические функции реализованы в стандартном библиотечном модуле cmath [2]
  • Ruby поддерживает класс Complex (стандартный библиотечный модуль complex)
  • OCaml поддерживает комплексные в стандартном библиотечном модуле Complex
  • Haskell — стандартная библиотека Complex
  • Apache Commons Math предоставляет поддержку для ЯП Java, класс Complex
  • Common Lisp: Стандарт ANSI Common Lisp описывает работу с комплексными числами над типами float и над типами с произвольной точностью. Базовые математические функции определены также и для комплексных
  • .NET Framework поддерживает System.Numerics.Complex с версии 4.0.

История

Тип данных COMPLEX широко используется с версии FORTRAN IV[en].[3]

Примечания

  1. ↑ https://books.google.com/books?id=3gYNAQAAIAAJ&pg=PA32&dq=fortran+complex&hl=en&ei=jokTToOwNsbLsga69OTTDg Архивная копия от 18 июня 2016 на Wayback Machine "FORTRAN II complex ... capabilities are expressed differently and are more limited than the FORTRAN IV"
  2. ↑ Python v2.6.5 documentation. Дата обращения: 5 июля 2011. Архивировано 4 июля 2011 года.
  3. ↑ A guide to Fortran IV programming Архивная копия от 7 апреля 2022 на Wayback Machine Daniel D. McCracken — 1972—288 pages. "The capability provided by Fortran complex operations is a great savings in programming effort in certain problems. "

Дополнительно по теме

Категории

Pause