Комплексный тип данных | это... Что такое Комплексный тип данных? (original) (raw)
Некоторые языки программирования предоставляют специальный тип данных для комплексных чисел. Наличие встроенного типа упрощает хранение комплексных величин и вычисления над ними.
Арифметика над комплексными
Комплексные переменные и значения обычно хранятся как пара чисел с плавающей запятой. Языки, поддерживающие встроенный тип для комплексных величин, обычно предоставляют специальный синтаксис для инициализации комплексных переменных (например, CMPLX(R, I)
в фортране) и расширяют действие основных арифметических операций ('+', '−', '×', '/'). Эти операции обычно транслируются компилятором в последовательность инструкций по обработке чисел с плавающей запятой или в вызовы функций специальной библиотеки. Иногда также предоставляются функции вывода комплексных, сравнения их на равенство и другие. Как и в математике, языки с поддержкой комплексных типов могут использовать обычные числа с плавающей запятой как комплексные с нулевой мнимой частью.
Поддержка в языках
- FORTRAN, тип
COMPLEX
поддерживается начиная с FORTRAN IV. В FORTRAN II существовала поддержка с иным синтаксисом и возможностями.[1] - Язык Си, начиная со стандарта C99 включительно. Комплексный тип обозначается ключевым словом
_Complex
. Реализовано множество математических функций над комплексными числами. Требуется использование заголовочного файла<[complex.h](603424)>
- Язык 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.[3]
Примечания
- ↑ http://books.google.com/books?id=3gYNAQAAIAAJ&pg=PA32&dq=fortran+complex&hl=en&ei=jokTToOwNsbLsga69OTTDg "FORTRAN II complex ... capabilities are expressed differently and are more limited than the FORTRAN IV"
- ↑ Python v2.6.5 documentation
- ↑ A guide to Fortran IV programming Daniel D. McCracken — 1972—288 pages. "The capability provided by Fortran complex operations is a great savings in programming effort in certain problems. "
![]() |
|
---|---|
Неинтерпретируемые | Бит • Ниббл • Байт • Трит • Трайт • Слово |
Числовые | Целый • С фиксированной запятой • С плавающей запятой • Рациональный • Комплексный • Длинный • Интервальный |
Текстовые | Символьный • Строковый |
Указатель | Адрес • Ссылка |
Композитные | Алгебраический тип данных (обобщённый) • Массив • Ассоциативный массив • Класс • Список • Кортеж • Объект • Option type • Product • Структура • Множество • Объединение (tagged) |
Другие | Логический • Низший тип • Коллекция • Перечисляемый тип • Исключение • First-class function • Opaque data type • Recursive data type • Семафор • Поток • Высший тип • Type class • Unit type • Void |
Связанные темы | Абстрактный тип данных • Структура данных • Интерфейс • Kind (type theory) • Примитивный тип • Subtyping • Шаблоны C++ • Конструктор типа • Parametric polymorphism |