Arutelu:Normaliseeritud ujukomaarv

Allikas: Vikipeedia
Jump to navigation Jump to search

Ilmselt ongi mitu varianti:

  • a) Mõnede veebilehtede järgi on ujukomaarvu tüvi on väiksem ühest. st. Arv algab 0, ...
  • b) IEEE 754 järgi on arvu tüvi (inglise significand) > 1.

(-1)s*(1.+M)*2E-Bias, kus M (mantissa) on murdosa (fractional part) vt. fourier.eng.hmc.edu/e85/lectures/arithmetic_html/node11.html. Arvuti mälus säilitatakse murdosa M, mitte tüvi (significand).

Lõplikud arvud võivad olla esitatud astmealusel 2 või 10. Iga lõplik arv on kirjeldatud kolme komponendiga: s = märk (0 või 1), c = arvu tüvi, q = astendaja. Lõpliku arvu väärtus on
  (−1)s × c × bq
kus b astmealus (2 või 10).

Normaliseeritud ujukomaarv võimaldab kõiki komponente esitada mälus täisarvudena[1].

  1. http://steve.hollasch.net/cgindex/coding/ieeefloat.html IEEE Standard 754 Floating Point Numbers
Antud viide ütleb, et ujukomaarvud kasutavad arvu standardkuju. "Floating-point representation - the most common solution - basically represents reals in scientific notation." "Ujukoma" tähendab, et koma võib liigutada ja "normaliseeritud" tähendab hetkel, et koma asetatakse peale esimest nullist erinevat numbrit. ("In order to maximize the quantity of representable numbers, floating-point numbers are typically stored in normalized form. This basically puts the radix point after the first non-zero digit. In normalized form, five is represented as 5.0 × 100.") --Hardi (arutelu) 11. september 2012, kell 12:12 (EEST)

Arvu varjatud/peidetud tüvenumber[muuda lähteteksti]

(tõlge: en.wikipedia.org/wiki/Significand)

Töötades kahendarvudega on arvu tüvel alati kindel arv bitte. Kuna normaliseeritud arvu kõige suurema kohakaaluga bitt on alati 1, siis seda arvuti mällu ei salvestata ja nimetatakse varjatud bitiks (hidden bit). Kontekstist sõltuvalt võib varjatud bitti võib arvu tüve hulka mitte arvestada (may not be counted towards the width of the significand). Näiteks IEEE 754 topelttäpsusega (double precision) vorming on tavaliselt 53-bitilise tüvega, millesse on arvestatud ka "varjatud bitt" või 52-bitilise tüvega, millesse ei ole arvestatud "varjatud bitti". Varjatud biti (hidden bit) mõiste kehtib ainult arvu kahendkujule. IEEE 745 määrab täpsuse p, mis peab olema kirjaldatud teatud arvu tüvenumbritega, kaasaarvatud tähenduseta järgnevad bitid (st. topelttäpsusega ujukomaarvu puhul p=53).

Väga nullilähedasi arve, mille puhul on vajalik nullist erinev varjatud bitt (hidden bit) kutsutakse "denormaliseeritud arvudeks" (Denormal number) või IEEE 745 järgi "subnormal number" (vt. en.wikipedia.org/wiki/Denormal_number või pages.cs.wisc.edu/~cs354-1/beyond354/reps.flpt.html musicdsp.org/files/denormal.pdf ieeexplore.ieee.org/iel5/10726/33846/01611257.pdf). Lahenduseks on arvu Bias (en.wikipedia.org/wiki/Exponent_bias) mahalahutamine astmenäitajast sõltuvalt esitatavast arvust.

Kümnend Ujukomaaarvud[muuda lähteteksti]

Kümnendarve saab esitada täpselt kümnend-ujukomaarvudega. Näiteks arvudel 1,1 või 2,2 pole täpset vastet kahend-ujukomaarvudena. Lõppkasutaja ei soovi, et 1,1 + 2,2 annaks tulemuseks 3,3000000000000003 nagu kahend-ujukomaarvude puhul. Seetõttu kasutatakse mitmete programmeerimiskeelte interpretaatorites (Python (docs.python.org/library/decimal.html), Java) ja ka mõnedes protsessorkiipides (nt. IBM POWER6) kümnend-ujukomaarve (astmealusel 10) (vt. http://en.wikipedia.org/wiki/Decimal_floating_point).


Artiklid ujukomaarv ja normaliseeritud ujukomaarv arv võiks liita. --Hardi (arutelu) 11. september 2012, kell 12:14 (EEST) ---

Pealkiri oleks siis lihtsalt "Ujukomaarv", millesse peaks minu arvates peaks lisama ka kümnend-ujukomaarvude osa, nulli ja lõpmatuse esituse ning varjatud tüvenumbrikohad. --- (IP 89.235.241.88)

Kui see on eraldi mõiste, miks siis peaks liitma? Andres (arutelu) 11. september 2012, kell 14:54 (EEST)