Typ zespolony – typ danych w określonym języku programowania, umożliwiający przechowywanie wartości zespolonych i wykonywanie operacji na tych wartościach.

Podstawowe zasady Liczby zespolone składają się z części rzeczywistej i części urojonej. Obie części są reprezentowane przez wartości rzeczywiste. Komputerowa reprezentacja takich liczb sprowadza się do rezerwacji w pamięci obszaru niezbędnego do przechowania pary liczb, czyli dwóch wartości, wybranego z dostępnych w konkretnym języku programowania, typu rzeczywistego. Nieodłącznie z typem zespolonym wiąże się również zestaw operatorów i funkcji dostarczanych przez język lub konkretną implementację do wykonywania operacji na wartościach zespolonych. Konkretne wartości zespolone w kodzie źródłowym reprezentowane są za pomocną literałów zespolonych lub wyrażeń.

Typ zespolony w językach programowania PL/I W PL/I dane zespolone opisane są w deklaracjach atrybutem COMPLEX (lub w skrócie CPLX). Dane zespolone mogą być reprezentowana za pomocną liczb: stałopozycyjnych (atrybut FIXED) zmiennopozycyjnych (atrybut FLOAT) o różnej reprezentacji w pamięci. Ponadto można stosować atrybut podstawy systemu liczbowego: dziesiętnego (atrybut DECIMAL=DEC) dwójkowego (atrybut BINARY=BIN).

Fortran 77 Typ zespolony oznaczany jest słowem kluczowym COMPLEX. Zmienne i wartości zespolone mogą być argumentami standardowych operatorów i funkcji. Przeprowadzane są automatyczne konwersje argumentów rzeczywistych i całkowitych do typu zespolonego, w przypadku użycia do takiego argumentu i argumentu zespolonego lub użycie liczby w kontekście, w którym wymagana jest wartość zespolona. Nie odnosi się to jednak do wartości podwójnej precyzji, w typ przypadku wymagana jest jawne zastosowanie funkcji przekształcającej CMPLX.

Algol 68 Dostępny jest typ zespolony i literały zespolone.

Mathcad Dostępny jest typ zespolony zapisany w postaci kanonicznej (algebraicznej). Istnieje możliwość tworzenia zmiennych zespolonych. Dostępne są dla tego typu podstawowe operacje zespolone.

Scheme Dostępny jest typ zespolony i literały zespolone. Liczbę urojoną zapisuje się w postaci:

10+10i +i

Język scheme posiada także funkcje operujące na liczbach zespolonych, np. sqrt (czyli pierwiastek) zwraca liczbę zespoloną gdy przekaże się liczbę ujemną.

Common Lisp Dostępny jest typ zespolony i literały zespolone. Liczbę urojoną zapisuje się w postaci:

#C(1 2)

Python Posiada typ zespolony i literały zespolone w formacie:

10+10j 1j

D Język D powstał jako obiektowy następca języka C. Wprowadzono w nim wiele rozszerzeń, w tym między innymi typ urojony (ifloat, idouble, ireal)Użycie różnych identyfikatorów, odpowiadających typom zmiennoprzecinkowym dostępnym w tym języku, z przedrostkiem "i" lub "c", wiąże się z rozmiarem pamięci przeznaczonym na przechowywanie liczby/liczb i ich precyzji. i zespolony typy danych (cfloat, cdouble, creal). Zdefiniowane są w składni zasady tworzenia literałów urojonych i zespolonych.

Uwagi

Bibliografia Jan Bielecki, Rozszerzony PL/I i JCL w systemie OS/RIAD, Państwowe Wydawnictwo Naukowe, Warszawa 1986, Seria: Biblioteka Informatyki, Ryszard K. Kott, Krzysztof Walczak. Programowanie w języku Fortran 77, Wydawnictwa Naukowo-Techniczne, Warszawa 1991, Język D na Wikibooks

Kategoria:Typy danych