Zapis liczb zmiennoprzecinkowych

0

W moim pierwszym poście witam serdecznie forumowiczów! Mam nadzieję, że spędzimy razem miłe chwile;)

Ale do rzeczy.

Natknąłem się na taki oto przykład: 0.125 = 2 - 3 można zapisać jako 0x1.0p - 3.
Ułamek zapisany jest szestnastkowo, a część całkowita dziesętnie, podstawą wykładnika jest 2.

Kompletnie nie rozumiem jak 0.125 = 2 - 3 ma się do 0x1.0p - 3. Skąd te 0, dlaczego tak?

Pozdrawiam,

0

Mam wrażenie że zjadleś tam literkę e
0.125 = 2e-3, czyli 2*10^-3 zapisane w notacji wykładnicznej.
0x to jest taki "przedrostek" który określa że liczba będzie zapisana szesnastkowo
analogicznie stosuje się przedrostek 0 dla liczb ósemkowych.

0

2e-3 = 0.002 a nie 0.125. Autor wątku trochę pomieszał z oznaczeniami, niech lepiej je przedstawi na obrazku żeby nie było niepotrzebnego domyślania się.

0

Dziękuję za odpowiedzi. Wyjaśnię, że nic nie pomieszałem, przykład jest wzięty z książki Java Podstawy Horstmann, Cornell, wydanie VIII, s. 66 pierwsza szara ramka. A w niej informacja, że wykładnik potęgi w zapisie szestnastkowym to p, a nie e.

Pomyślałem, że może wkradł się chochlik i spojrzałem, czy nie ma przypadkiem erraty na helionie, no i jest.

źle: 0.125 = 2-3
dobrze: 0.125 = 2 do potęgi -3

trochę jaśniej
0.125 = 1/8
0x1 = 1
a 0p-3 - tego nie rozumiem..

Pozdrawiam,

0

xey = x * 10 ^ y

a więc tutaj myślę, że

xpy = x * 2 ^ y

czyli

0x1.0p-3 = 1.0 * 2 ^ -3 = 0.125

Wrzuć skany książki to się sprawa rozjaśni :)

0

Donek dobrze mowi. Z ksiazki:
NOTE: As of Java SE 5.0, you can specify floating-point numbers in hexadecimal! For exam-
ple, 0.125 = 2-3 can be written as 0x1.0p-3. In hexadecimal notation, you use a p, not an e, to
denote the exponent. Note that the mantissa is written in hexadecimal and the exponent in
decimal. The base of the exponent is 2, not 10.

0

Dzię-ku-ję! Chyba wszystko już jasne:)

i żeby nie było już wątpliwości to do powyższej notki dokleję jeszcze screen:)
http://img193.imageshack.us/img193/954/screenz.gif

Pozdrawiam,

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