Lebegőpontos

A Programozás Wiki wikiből

A lebegőpontos változó egy adattipus a számítástechnikában, melyet a processzor egy bizonyos része, az ún. koprocesszor használ. Ez aritmetikai műveleteket végez valós számokkal. Lényege, hogy külön vannak benne eltárolva a bináris szám bitjei, és külön az, hogy hol van a tizesevessző (mennyivel kell balra vagy jobbra eltolni), így könnyen lehetséges nagyon nagy, illletve 0-hoz közeli számokat egy bizonyos számjegyű pontossággal kifejezni. Különböző hosszú típusok vannak:

Single (32 bites): Így néz ki a 32-bites gépi kódolása:

seeeeeee emmmmmmm mmmmmmmm mmmmmmmm

s = sign (előjel) 0 - pozitív, 1 - negatív

e = exponens - Ez határozza meg, hogy hol van a számban a tizedesvessző. Megadja, hogy a mantisszában levő számot - mely normalizált érték esetében mindig 1 és 2 között van - 2 ahányadikonnal kell megszorozni.Viszont ez nem a valoódi értéket tartalmazza, hanem hozzá van adva egy konstans. Ez az eltolt érték olyan, hogy a legfelső bitje 0, a többi bitje 1 (01111111).

m = mantissza. Ez adja a valós szám bitjeit. A legfelső 1-es nincs benne tárolva

Double (64 bites): Ennek az exponense nem 8 bites, hanem 11, a mantissza meg 52

seeeeeee eeeemmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm

Extended (80 bites) 15 bites exponens, 63 bites mantissza.