liczby sięgające nieco ponad 2 miliardy). Liczby te są pamiętane dokładnie. Drugi sposób reprezentacji (zmiennoprzecinkowy lub zmiennopozycyjny) pozwala pamiętać nie tylko liczby całkowite, ale także inne rzeczywiste, lecz z ograniczoną dokładnością. Maksymalnie pamiętanych jest jedynie około 20 pierwszych cyfr liczby oraz jej rząd. Jest to zapis w postaci dwóch liczb. Pierwsza to liczba z zakresu <1;10), z miejscami po przecinku, pamiętająca wszystkie znaczące (maksymalnie jak już mówiłem 20) cyfry. Druga to liczba całkowita określająca rząd, czyli potęgę, do której należy podnieść 10, by po przemnożeniu przez pierwszą otrzymać właściwą liczbę. Liczby zmiennoprzecinkowe pozwalają na pamiętanie liczb ze znacznie większego zakresu, ale niestety pamiętają tylko pewne ich przybliżenia.
Jak więc możemy się domyślać, komputer potraktował liczbę 2000 jako całkowitą z zakresu, który potrafi zapisać stałopozycyjnie, i tak ją wypisał. No dobrze, ale wynik dzielenia 10 przez 2 (czyli 5) jest także jak najbardziej całkowity. Czemu więc był wypisywany zmiennopozycyjnie? Dlatego, że operacja dzielenia zawsze daje wynik zmiennopozycyjny. Ponieważ dla niektórych danych wyniki dzielenia nie są liczbami całkowitymi (na przykład 10/3), więc dzielenie daje zawsze wynik rzeczywisty.
■ c z E N
3.11
Aby lepiej zobaczyć sposób wypisania wyniku, nie formatuj go. Wypisz jednak przedtem tekst, informujący, jakie równanie liczy program.
program cw3_ll;
{ Program wyświetla wynik dodawania liczb 2 i 5 }
{ bez formatowania wyniku. }
{ Katalog r3_03 : 3_ll.pas }
begin
Writeln ('2+5 - ‘, 2+5); end.
Wynikiem jest oczywiście liczba 7. Widać, że jest jak najbardziej stałopozycyjna. Spróbuj samodzielnie sprawdzić, jaki będzie wynik dodawania liczby stało- i zmiennopozycyjnej (np. 2 i 5.1).
Na koniec naszych rozważań o instrukcjach wypisywania danych zwróćmy uwagę, że formatować można nie tylko dane liczbowe. W podobny sposób można formatować też tekst. Oczywiście w tym przypadku nie mają sensu dwie liczby, wystarczy jedna — liczba znaków, na której ma on zostać wyświetlony. Jeżeli tekst jest krótszy niż żądana liczba znaków, zostanie z przodu uzupełniony spacjami. Jeżeli jest dłuższy, formatowanie nie zostanie uwzględnione.