Zespolony typ danych
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ąc się z części rzeczywistej i części urojonej. Obie części są reprezentowane przez wartości rzeczywiste. Komputerowa reprezentacja taki 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
)[1] i zespolony typy danych (cfloat, cdouble, creal
)[1]. Zdefiniowane są w składni zasady tworzenia literałów urojonych i zespolonych.
Przypisy
Bibliografia
- Jan Bielecki, Rozszerzony PL/I i JCL w systemie OS/RIAD, Państwowe Wydawnictwo Naukowe, Warszawa 1986, Seria: Biblioteka Informatyki, ISBN 83-01-06146-4
- Ryszard K. Kott, Krzysztof Walczak. Programowanie w języku Fortran 77, Wydawnictwa Naukowo-Techniczne, Warszawa 1991, ISBN 83-204-1362-1
- Język D na Wikibooks