Przejdź do zawartości

Zespolony typ danych

Z Wikipedii, wolnej encyklopedii

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

Podstawowe zasady[edytuj | edytuj kod]

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[edytuj | edytuj kod]

PL/I[edytuj | edytuj kod]

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:

Fortran 77[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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

Mathcad[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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

#C(1 2)

Python[edytuj | edytuj kod]

Posiada typ zespolony i literały zespolone w formacie:

10+10j
1j


D[edytuj | edytuj kod]

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[edytuj | edytuj kod]

  1. a b 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.

Bibliografia[edytuj | edytuj kod]