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.94531250
Poprawną odpowiedzią jest wyjście:
0.11110010 0.94531250 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 :