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