W systemach pozycyjnych o podstawie innej niż 10 można zapisywać nie tylko liczby całko-
wite, ale również rzeczywiste z pewną dokładnością. Na przykład w systemie dwójkowym
cyfry po przecinku odpowiadają kolejnym potęgom 1/2 (jednej drugiej). Cyfra 1 na pierwszym miejscu po przecinku odpowiada 1/2, na drugim miejscu — 1/4, na trzecim — 1/8 i tak
dalej.
Na przykład (0,101)
2 = 1/2 + 1/8 = 5/8 = 0,625
10 . Podobnie jak w systemie dziesiętnym nie
każda liczba daje się zapisać w ten sposób dokładnie — na przykład liczba 1/3 nie ma skończonego rozwinięcia w systemie dwójkowym (ani też w dziesiętnym). Można jednak stosunkowo łatwo wyznaczyć zadaną liczbę początkowych cyfr po przecinku dla każdej liczby rzeczywistej.
Następujący algorytm przyjmuje na wejściu liczbę rzeczywistą x należącą do przedziału [0, 1)
oraz dodatnią liczbę całkowitą k i wypisuje k pierwszych cyfr liczby x w zapisie dwójkowym.
Przeanalizuj algorytm i odpowiedz na podane pytania.
x — liczba rzeczywista, 0 ≤ x < 1,
k — liczba całkowita dodatnia.
zapis dwójkowy liczby x do k-tego miejsca po przecinku.
dla i=1, 2, ..., k wykonuj