takie krotkie pytanie:
jak wyznaczyc ilosc bitow mantysy w zmiennej float lub double ?
moze ktos wie jak to zrobic albo przynajmnije zna algorytm jakis ktory mi sie przyda... ? ;>
Ilosc bitow w mantysie
Ilosc bitow w mantysie
Kod: Zaznacz cały
a=1
i=0
do
i++
a=a/2
b=1+a
c=b-1
while c != 0
-
- Użytkownik
- Posty: 21
- Rejestracja: 14 lut 2008, o 18:57
- Płeć: Mężczyzna
- Lokalizacja: Zamosc
- Podziękował: 4 razy
Ilosc bitow w mantysie
dzieki ! rzeczywiscie dziala ale nie wiem na jakiej zasadzie zabardzo... mógłbys to jakos przyblizyc ?
Ilosc bitow w mantysie
Swoją drogą, ciekawe czemu przy optymizacji to się zatrzymuje.
zmienna "a" to coraz coś mniejszego, kolejne wartości to 1/2, 1/4, ... czyli tak na prawdę jeden bit tylko, że z oraz mniejszym wykładnikiem czy o ocoraz mniejszej wadze (razy 2 do potęgi minus ileś tam)
do tego dodaję jeden, czyli binarnie będzie to takie coś 1,.......1,
jedynka* ileś tam zer i znowu jedna jedynka.
To jeden jest z pewnością większe od "mało" więc raczej to warto zapamiętać.
Musi natąpić moment kiedy liczba kropek (czyli zer)
między pierwszą i ostatnią (drugą) jedynką przekroczy
możliwości danego typu (na zmienną konkretnego typu poświęca się ileś tam bajtów), wtedy ta mniej znacząca zniknie (zniknie? a co z zaokrągleniami?).
Wtedy 1+mało-1 stanie się zerem, ponieważ 1+mało==1
*poza zerem (liczbą równą zero) musi być jakaś jedynka, to w sumie nie warto jej pamiętać (a dla zera przyjąć jakąś specjalną wartość).
zmienna "a" to coraz coś mniejszego, kolejne wartości to 1/2, 1/4, ... czyli tak na prawdę jeden bit tylko, że z oraz mniejszym wykładnikiem czy o ocoraz mniejszej wadze (razy 2 do potęgi minus ileś tam)
do tego dodaję jeden, czyli binarnie będzie to takie coś 1,.......1,
jedynka* ileś tam zer i znowu jedna jedynka.
To jeden jest z pewnością większe od "mało" więc raczej to warto zapamiętać.
Musi natąpić moment kiedy liczba kropek (czyli zer)
między pierwszą i ostatnią (drugą) jedynką przekroczy
możliwości danego typu (na zmienną konkretnego typu poświęca się ileś tam bajtów), wtedy ta mniej znacząca zniknie (zniknie? a co z zaokrągleniami?).
Wtedy 1+mało-1 stanie się zerem, ponieważ 1+mało==1
*poza zerem (liczbą równą zero) musi być jakaś jedynka, to w sumie nie warto jej pamiętać (a dla zera przyjąć jakąś specjalną wartość).