Сложный тип данных
редактировать
Некоторые языки программирования предоставляют сложный тип данных для хранения комплексных чисел и арифметические операции как встроенные (примитивные) тип данных.
В некоторых средах программирования термин сложный тип данных (в отличие от примитивных типов данных ) является синонимом составного типа данных.
Содержание
- 1 Арифметика комплексных чисел
- 2 Поддержка языка
- 3 История
- 4 Ссылки
Арифметика комплексных чисел
Комплексная переменная или значение обычно представляется в виде пары чисел с плавающей запятой. Языки, поддерживающие сложный тип данных, обычно предоставляют специальный синтаксис для построения таких значений и расширяют базовые арифметические операции ('+', '-', '×', '÷'), чтобы воздействовать на них. Эти операции обычно переводятся компилятором в последовательность машинных инструкций с плавающей запятой или в вызовы библиотеки. Эти языки могут также обеспечивать поддержку других операций, таких как форматирование, проверка равенства и т. Д. Как и в Mathematics, эти языки часто интерпретируют значение с плавающей запятой как эквивалент комплексного значения с нулевой мнимой частью.
Поддержка языка
- Тип FORTRAN COMPLEX
- Стандарт C99 языка программирования C включает сложные типы данных и сложные математические функции в заголовок стандартной библиотеки
<complex.h >
- Стандартная библиотека C ++ предоставляет шаблонный класс
complex
, а также сложные математические функции в заголовке
- Язык программирования Go имеет встроенные типы
complex64
(каждый компонент - 32-битное число с плавающей запятой) и complex128
(каждый компонент 64- bit float) - Базовый модуль Perl Math :: Complex обеспечивает поддержку комплексных чисел
- Python предоставляет встроенный тип
complex
. Литералы мнимых чисел можно указать, добавив «j». Сложные математические функции предоставляются в модуле стандартной библиотеки cmath
- Ruby предоставляет класс Complex в модуле стандартной библиотеки complex
- OCaml поддерживает комплексные числа со стандартным библиотечный модуль Complex
- Haskell поддерживает комплексные числа с помощью стандартного библиотечного модуля Data.Complex (ранее назывался Complex)
- Mercury предоставляет комплексные числа с полной поддержкой перегрузки оператора в дополнительном дистрибутиве с использованием libcomplex_numbers.
- Java не имеет стандартного класса комплексных чисел, но существует ряд несовместимых бесплатных реализаций класса комплексных чисел:
- Apache Commons Математическая библиотека предоставляет комплексные числа для Java с его сложным классом
- Библиотека JScience имеет комплексный класс чисел
- Библиотека JAS позволяет использовать комплексные числа.
- Netlib имеет класс комплексных чисел для Java
- javafastcomplex также добавляет поддержку комплексных чисел для Ja va
- jcomplexnumber - это проект по реализации комплексного числа в Java.
- JLinAlg включает комплексные числа с произвольной точностью.
- Common Lisp : Стандарт ANSI Common Lisp поддерживает комплексные числа числа с плавающей запятой, рациональные числа и целые числа произвольной точности. Его основные математические функции определены для комплексных чисел, где это применимо. Например, квадратный корень из -1 - это комплексное число:
? (sqrt -1) #C (0 1); результат (sqrt -1)
- Схема : Комплексные числа и функции (например,
sin
) включены в спецификацию языка. Однако их реализация в стандарте R5RS является необязательной, а в R6RS - обязательной. - .NET Framework предоставляет System.Numerics.Complex начиная с версии 4.0.
- Для iOS естественно поддерживаются комплексные числа в нотации a + bi . Любая переменная, математическая операция или функция может принимать как действительные, так и комплексные числа в качестве аргументов и возвращать действительные или комплексные числа в зависимости от результата. Например, квадратный корень из -4 является комплексным числом:
PRINT SQRT (-4)
2i
History
Тип данных COMPLEX
был предоставлено в FORTRAN IV.
.
Ссылки