Dzień dobry.
Potrzebuję wyciągnąć liczbę cyfr przed przecinkiem (część całkowita) liczby zmiennoprzecinkowej, zapisanej binarnie przy pomocy 4 składników (niestety 4-go nie do końca rozumiem, ale chyba nie jest potrzebny). Mam takie przykłady:
+--
liczba reprezentacja przykład
1.0 (0, 1, 0, 1) (-1)^0 * 1 * 2^0 = 1
10.0 (0, 5, 1, 3) (-1)^0 * 5 * 2^1 = 10
10.25 (0, 41, -2, 6) (-1)^0 * 41 * 2^(-2) = 41/4 = 10.25
123456.0 (0, 1929, 6, 11) (-1)^0 * 1929 * 2^6 = 1929 * 64 = 123456.0
Ostatni parametr, to chyba liczba bitów mantysy (znak, mantysa, wykładnik, nbits). Ale do rzeczy.
Czy można w jakiś sposób, bez wymnażania policzyć liczbę cyfr części całkowitej liczby zapisanej w ten sposób? Czy muszę wymnożyć?
Dzięki
PS.
Wiem, że liczbę cyfr można policzyć przy pomocy log10
, ale trzeba mieć liczbę do przekazania. A jak mam tylko mantysę i wykładnik? Muszę obliczyć liczbę, czy mogę jakoś wywróżyć :D ?