[ Pobierz całość w formacie PDF ]
czy znak postrzegamy jako wartość typu czy też typu .
C:\Andrzej\PDF\Delphi 7 dla każdego\29-37.doc (03-05-16) 35
36 DeIphI 7 dIa każdego
Typy zmiennoprzecinkowe
Typy zmiennoprzecinkowe (floating point types) reprezentujÄ… podzbiory liczb rze-
czywistych ze zróżnicowaną dokładnością. Delphi definiuje 6 fundamentalnych typów
zmiennoprzecinkowych zgodnych z normÄ… ANSI/IEEE 754. Ich charakterystyka przed-
stawiona jest w tabeli 2.4.
TabeIa 2.4. Fundamentalne typy zmiennoprzecinkowe Delphi
Typ Zakres Liczba Dokładność Rozmiar
dziesiętnych (liczba
cyfr bitów
znaczÄ…cych mantysy)
× × (moduÅ‚) 4 bajty
× × (moduÅ‚) 8 bajtów
× × (moduÅ‚) 10 bajtów
8 bajtów
8 bajtów
× × 6 bajtów
jest w tym zestawieniu o tyle nietypowy, iż został on zaliczony do zmiennoprze-
cinkowych jedynie ze względów historycznych w Turbo Pascalu wszystko, co
miało związek z koprocesorem, zaliczane było do arytmetyki zmiennoprzecinkowej.
Pod względem fizycznym wartość typu jest ośmiobajtową liczbą całkowitą ze
znakiem, o czym można się przekonać, wykonując poniższą sekwencję:
Po zakończeniu zmienna zawiera wartość , a nie . Mimo takiego zachowania typ
nie może być traktowany na równi z liczbami całkowitymi przede wszystkim
dlatego, że nie jest typem porządkowym. Wraz z pojawieniem się (w Delphi 4) typu
typ stracił praktycznie swoje znaczenie i zachowany został tylko ze wzglę-
dów zachowania kompatybilności.
Typ używany jest głównie do reprezentowania danych finansowych (stąd
nazwa). Mimo iż zaliczono go do typów zmiennoprzecinkowych, jest on tak naprawdę
liczbą stałoprzecinkową o ustalonej (równej ) liczbie miejsc dziesiętnych. Podobnie
jak typ , jest on reprezentowany w postaci 64-bitowej liczby całkowitej ze zna-
kiem, przy czym zapisywana wartość jest 10 000 razy większa od wartości faktycznie
reprezentowanej (stąd właśnie cztery miejsca po przecinku).
36 (03-05-16) C:\Andrzej\PDF\Delphi 7 dla każdego\29-37.doc
RozdzIał 2. f& KompendIum języka DeIphI 37
Typ to dziedzictwo wczesnych wersji Turbo Pascala, w których był jedynym
typem używanym do obliczeń zmiennoprzecinkowych (nosił wówczas nazwę ).
Zajmuje 6 bajtów (= 48 bitów, stąd nazwa ), format jego reprezentacji binarnej
jest całkowicie odmienny od pozostałych typów, zaś wszelkie operacje z jego udzia-
łem odbywają się wyłącznie w sposób programowy, bez jakiegokolwiek wsparcia
sprzętowego, co decyduje o niskiej efektywności obliczeń. Został zachowany jedynie
ze względów kompatybilności wstecz.
Rodzimy typ zmiennoprzecinkowy Delphi nosi nazwę . Jeszcze w Delphi 3 był on
równoważny temu, co dzisiaj kryje się pod nazwą . Począwszy od Delphi 4 stał
się on równoważny typowi , zaś spadkowy typ przechrzczony został na
. W przypadku uzasadnionej nostalgii można przywrócić typowi dawne
znaczenie, używając dyrektywy kompilacji .
Oprócz konkretnych wartości liczbowych w ramach typów zmiennoprzecinkowych
(z wyjątkiem typu Real48) przechowywać można wartości oznaczające brak konkret-
nej liczby (tzw. nieliczby ang. = Not A Number) jak również symbol oznacza-
jący nieskończoność. Szczegóły dotyczące wewnętrznej reprezentacji typów zmien-
noprzecinkowych dostępne są w systemie pomocy Delphi 7 pod hasłem Real types.
Jak widać z tabeli 2.4, największą dokładność obliczeń zapewnia typ
jest to dokładność, z jaką przechowywane są przez procesor pośrednie wyniki wy-
konywanych przez niego obliczeń. Niektóre programy mogą jednak sztucznie ob-
niżyć tę domyślną dokładność, głównie ze względów zgodności ze starszymi sys-
temami obliczeń zmiennoprzecinkowych. I tak na przykład niektóre procedury
Win32 API przełączają procesor w tryb dokładności 53-bitowej, charakterystycznej
dla typu . Z tego względu zalecanym typem dla obliczeń zmiennoprzecinko-
wych w aplikacjach Win32 jest typ i nieprzypadkowo to on właśnie jest
rodzimym typem zmiennoprzecinkowym, kryjÄ…cym siÄ™ pod synonimem .
C:\Andrzej\PDF\Delphi 7 dla każdego\29-37.doc (03-05-16) 37
[ Pobierz całość w formacie PDF ]
Pokrewne
- Strona Główna
- Delphi_dla_NET_Vademecum_profesjonalisty_delnke
- 02 Judy Christenberry Rodzinne spotkanie
- Boge Anne Lise Grzech pierworodny 18 Siostry
- Grey India Mistrz FormuśÂ‚y 1
- Banks Leanne Million Dollar Men 02 Pokochac milionera
- śÂšwić…tynia Czarownic (mandragora76)
- Koontz Dean R Mć…śź
- 456. Andrews Amy Uleczone serca
- Gospodarka odpadami PORADNIK_PRZEDSIEBIORSCY
- TD McKinney & Terry Wylis Southern Beaus 3 Copperhead Road
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- gruba-baba.pev.pl