Liczba zmiennoprzecinkowa zadanie

0

Podana jest liczba całkowita 0x40C00000. Jaka to będzie liczba zmiennoprzecinkowa o takiej samej reprezentacji binarnej?
Nie bardzo rozumiem treści tego zadania może ktoś to wytłumaczy o co tutaj chodzi i co zrobić krok po kroku.

Ogarniam rozbijanie liczby na liczbę zmienną przecinkową.

1

No masz tu 8 bajtów, czyli 64 bity oczywiście 4 bajty. Najprościej to zapisz to sobie jako unsigned int a potem zrzutuj na double float i wypisz ;] A jak chcesz ręcznie to zobacz ile bitów pójdzie na mantyse i ile na cechę i policz wynik.

1

@Shalom tam są tylko 4 bajty :)
PS. wysłałem odpowiednią informacje do CERNu. Oni już sobie po IP ustalą o kogo chodzi. I nie miej mi tego za złe, ja to robię w twoim interesie.

0

0|100 0000 1|100 0000 0000 0000 0000 0000

1.Znak to 0 czyli dodatnia.
2.Cecha to 129 czyli 2.
a mantysa to 4194304.
czyli powinienem to zapisac tak 1.4194304 * 2^2?

w konsoli wychodzi tyle 1.08632e+009 .

Coś mi tu nie gra i nie wiem co..

1

Swoją swoją mantysę zapisujesz jako:
1 * 2^{-1} + 0 * 2^{-2} + 0 * 2^{-3} + 0 + ... + 0= 1/2

Masz liczbę znormalizowaną, zatem dodajesz jedynkę, dostajesz 1.5.
Dalej masz: 1.5 * 2^2 = 6

Spodziewam się, że chodzi o IEEE754.
https://www.h-schmidt.net/FloatConverter/IEEE754.html
przeklikaj się przez to, zrozumiesz o co chodzi.

Jeśli chcesz zrozumieć głębiej, to zadam Ci kilka pytań pomocniczych:

  1. Co to są liczby zdenormalizowane ? Jaki to ma sens ?
  2. Co zyskasz zwiększając bity na mantysę ? A co stracisz?
  3. Czy jesteś w stanie wskazać liczbę, która nie ma reprezentacji ?
  4. Ile liczb całkowitych możesz reprezentować ?
  5. Jakie liczby całkowite jesteś w stanie reprezentować (to pytanie jest dość luźne, po prostu się nad tym zastanów).

1 użytkowników online, w tym zalogowanych: 0, gości: 1