Dokładność liczby rzeczywistej zapisanej w formacie stałoprzecinkowym zależy od ilości bitów przeznaczonych na część ułamkową - przy dwóch bitach możliwe wartości dziesiętne części ułamkowej są następujące: 0.00, 0.25, 0.5 i 0.75.
Istnieje prosty algorytm wyznaczający n-bitowe rozwinięcie dwójkowe części ułamkowej liczby rzeczywistej x:
x - liczba z przedziału <0;1)
n - ilość bitów cześci ułamkowej
1. Powtórz n razy:
a) pomnóż x przez 2
b) wypisz część całkowitą liczby x
c) odrzuć część całkowitą liczby x:
- jeżeli x>=1 , to x:=x-1
Napisz program, który wczyta liczbę rzeczywistą p z przedziału <0; 1) i sprawdzi, czy można zapisać dokładną jej wartość używając ośmiobitowej części ułamkowej.
Pierwszy i jedyny wiersz wejścia zakończony znakiem nowej linii zawiera liczbę rzeczywistą p z przedziału <0; 1).
W pierwszym wierszu wyjścia należy zapisać reprezentację liczby rzeczywistej p zawierającą osiem bitów po przecinku. w wierszu drugim wartość tej reprezentacji z dokładnością do 8 miejsc (cyfr) po przecinku, w wierszu trzecim popełniony błąd z taką samą dokładnością.
Dla danych podanych na wejściu:
0.17187500
Poprawną odpowiedzią jest wyjście:
0.00101100 0.17187500 0.00000000
Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5
Opcje zadania:
Biblioteki : iostream iomanip cmath Limit czasu : 0.1 s Limit pamięci : 32 MB Słowa niedozwolone :