Szamok javitasa
Istvan HAVASI
havasi at egus.hu
Thu Sep 30 09:05:49 CEST 1999
Haliho skaccok!
Hogy en mekkora okor vagyok!
Tegnap nagyon belemelyedhettem a programirasba, mikor irtam a valaszomat......
Tipikusan fazon keverve egy masik dologgal ahhhhh!!!!
Amikor mentem haza, egybol eszembe jutott, mekkora marhasagot irtam
tegnap....meghogy
16 biten van tarolva egy byte .....ugy latszik, nagyon elmelyultem a 16 bitekben
tegnap valamiert...
Szoval a helyes(ebb) :-)) valaszom a kovetkezo:
byte0 byte1 byte2 byte3
7.....0 7.....0 7.....0 7.....0
exponens | ^ mantissza
| |
| elojelbit
|
Az exponens 0...255-ig vehet fel ugye erteket, tehat e + 128 formaban
van tarolva a byteon, igy az eredeti exponens -128...+127 kozotti ertekeket
vehet fel.
A mantissza legertekesebb bitje van legelol, ami a normalizalas miatt mindig
1 erteku. Ezert le lehet cserelni a szam elojelbitjere. Ha 1, akkor negativ.
a szam maga: +/- 1,mantissza * 2 ^ (e - 128)
(Most azt nem tudom hirtelen, hogy 1,mantissza vagy 0,mantissza formaban
van -e tarolva, de ez rovid idon belul eldontheto)
No ez a 4 byteos float szam.
A 8 byteos double szam 1,5 byteos exponens-el rendelkezik.
byte0 byte1 byte2 byte3 byte4 byte5 byte6
byte7
7.....0 7..4 3...0 7.....0 7.....0 7.....0 7.....0 7.....0
7.....0
exponens |^ mantissza
||
|elojelbit
|
Az exponens 12 biten vehet fel ugye erteket (0...4095), tehat e + 2048 formaban
van tarolva a byteon, igy az eredeti exponens -2048...+2047 kozotti ertekeket
vehet fel.
A mantissza legertekesebb bitje van legelol, ami a normalizalas miatt mindig
1 erteku. Ezert le lehet cserelni a szam elojelbitjere. Ha 1, akkor negativ.
a szam maga: +/- 1,mantissza * 2 ^ (e - 2048)
No remelem, most nem vetettem nagy hibat :-)))))))))) de ha oruletes marhasagra
bukkantok,
akkor javitsatok!!! Majd meg megkukkolom ma egy kis progival, pontosan hogy is
van a mantisszanal az 1,mantissza, illetve a 0,mantissza....de a tobbi
baromsagomat
sietve ki kellett javitanom :-))))
No szasztok!
STeve
More information about the Elektro
mailing list