Сложный тип данных
Некоторые языки программирования предоставляют сложный тип данных для хранения комплексных чисел и арифметики в качестве встроенного ( примитивного ) типа данных .
Арифметика комплексных чисел
[ редактировать ]Комплексная переменная или значение обычно представляется как пара чисел с плавающей запятой . Языки, поддерживающие сложные типы данных, обычно предоставляют специальный синтаксис для построения таких значений и расширяют базовые арифметические операции («+», «-», «×», «÷») для воздействия на них . Эти операции обычно преобразуются компилятором в последовательность машинных инструкций с плавающей запятой или в вызовы библиотеки . Эти языки также могут обеспечивать поддержку других операций, таких как форматирование, проверка на равенство и т. д. Как и в математике , эти языки часто интерпретируют значение с плавающей запятой как эквивалент комплексного значения с нулевой мнимой частью.
Языковая поддержка
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( ноябрь 2015 г. ) |
- Тип FORTRAN COMPLEX. [1]
- Стандарт C99 языка программирования C включает сложные типы данных и сложные математические функции в заголовке стандартной библиотеки.
<complex.h>
. - Стандартная библиотека C ++ предоставляет
complex
класс шаблона, а также функции комплексной математики в<complex>
заголовок. - Язык программирования Go имеет встроенные типы.
complex64
(каждый компонент имеет 32-битное число с плавающей запятой) иcomplex128
(каждый компонент представляет собой 64-битное число с плавающей запятой). - Основной Perl модуль Math::Complex обеспечивает поддержку комплексных чисел.
- Python предоставляет встроенные
complex
тип. Литералы мнимых чисел можно указать, добавив букву «j». Функции комплексной математики предоставляются в модуле стандартной библиотеки.cmath
. [2] - Руби предоставляет Сложный класс в модуле стандартной библиотеки сложный .
- OCaml поддерживает комплексные числа с помощью модуля стандартной библиотеки. Сложный .
- Haskell поддерживает комплексные числа с помощью модуля стандартной библиотеки. Data.Complex (ранее называвшийся Сложный ).
- Mercury предоставляет комплексные числа с полной поддержкой перегрузки операторов при распределении дополнительных возможностей, используя libcomplex_numbers .
- В Java нет стандартного класса комплексных чисел, но существует ряд несовместимых свободных реализаций класса комплексных чисел:
- Библиотека Apache Commons Math предоставляет комплексные числа для Java с помощью Сложный класс.
- В библиотеке JScience есть комплексных чисел. Класс
- Библиотека JAS позволяет использовать комплексные числа.
- Netlib имеет класс комплексных чисел для Java.
- javafastcomplex также добавляет поддержку комплексных чисел для Java.
- jcomplexnumber — проект по реализации комплексных чисел в Java.
- JLinAlg включает комплексные числа с произвольной точностью.
- Common Lisp : Стандарт ANSI Common Lisp поддерживает комплексные числа с плавающей запятой, рациональные числа и целые числа произвольной точности. Его основные математические функции определены для комплексных чисел, где это применимо. Например, квадратный корень из -1 является комплексным числом:
? (sqrt -1) #C(0 1) ; the result of (sqrt -1)
- Схема : комплексные числа и функции (например,
sin
) включены в спецификацию языка. Однако их реализация не является обязательной в стандарте R5RS, тогда как в R6RS она является обязательной. - .NET Framework предоставляет System.Numerics.Complex начиная с версии 4.0.
- Умный BASIC для iOS естественным образом поддерживает комплексные числа в нотации a + bi . Любая переменная, математическая операция или функция могут принимать в качестве аргументов как действительные, так и комплексные числа и возвращать действительные или комплексные числа в зависимости от результата. Например, квадратный корень из -4 является комплексным числом:
PRINT SQRT(-4) 2i
- Julia включает предопределенные типы как для комплексных, так и для рациональных чисел, начиная с версии 0.3. [3]
- R обеспечивает
complex
основной тип данных [4] - Swift не имеет стандартного типа данных комплексного числа, но Swift Numerics , который поддерживается разработчиками языка, предлагает ComplexModule .
Ссылки
[ редактировать ]- ^ Руководство по программированию на Fortran IV Дэниел Д. Маккракен - 1972 г. - 288 страниц. «Возможности, обеспечиваемые сложными операциями на Фортране, позволяют значительно сэкономить усилия по программированию при решении определенных задач».
- ^ Документация Python v2.6.5
- ^ «Комплексные и рациональные числа — документация Julia Language 0.3.13-pre» .
- ^ «Типы данных R» . www.w3schools.com . Проверено 26 апреля 2022 г.