SlideShare ist ein Scribd-Unternehmen logo
1 von 24
HTTP://WWW.VIRTUAL-CALL-CENTER.EU/




IEEE 754, avagy mit
    ért a JavaScript
    a Number alatt
                           Farkas Máté
                budapest.js, 2010.10.25
SZÁMÍTÓGÉPES SZÁMÁBRÁZOLÁS



Lebegőpontos (float,
 double, stb)
Egész (int, word, stb)
BCD és egyebek
EGÉSZ SZÁMOK


Egész esetben: pozitív
számok, vagy kettes
komplemens képzéssel

   -x === ~x + 1
BCD



Binary Coded Decimal
       1 tizedes
      jegy: 4 bit
VALÓS SZÁMOK


A valóságot csak
 közelíteni tudjuk
Normalizált alakban
     s×m×           2 e
NORMÁLALAK, AHOGY TANULTUK



1,364 ×   10 3

3,2 × 10 1        -2,59×10 -4


    A mantissza:
     1 ≤ m < 10
MI A GOND?



1,000…001×10 -sok   -hoz
1,000…000×10 -sok

közelebb van,
mint a 0-hoz
MI MÉG A PROBLÉMA?



0,6 + 0,7 ===
 1,2999999999999998
0,1 + 0,2 ===
 0,300000000000…
   …00004
MEGTANULTUK:



 Lebegőpontos
 számokat soha-
 sem vizsgálunk
egyenlőségjellel!
LEBEGŐPONTOS EGÉSZEKET SEM?



Miért van olyan nagy
különbség + 1,2 × 10  0

és + 1,2 × 10 1 között?
NUMBER ÉS SEMMI MÁS



 A JavaScript
   egyféle
számot ismer!
IEEE 754, AZAZ A NUMBER SZEMÉLYESEN


Lebegőpontos, 64 bit
IEEE 754, AZAZ A NUMBER SZEMÉLYESEN


Lebegőpontos, 64 bit

2 64-253+3

különböző érték
IEEE 754, AZAZ A NUMBER SZEMÉLYESEN




+∞ == Infinity
-∞ == -Infinity
NaN != NaN
VÉGES SZÁMOK



A véges számok fele
pozitív, fele negatív
     1/+0 === +∞
     1/ -0 === -∞
        -0 === +0
NORMÁL ALAKÚ SZÁMOK



2 64-254
       db normál
alakú szám: s × m × 2 e


s=±1           252   ≤m<    253


  -1074 ≤ e ≤ 971
DENORMALIZÁLT SZÁMOK



A maradék      253-2
               db
szám denormalizált:
s=±1       m<               252

   e = -1074
MI KÖVETKEZIK EBBŐL?



Valódi egészként
viselkedik minden
      -2 53 < i < 253

közé eső egész szám
BIT MŰVELETEK




Viszont a bitműveletek
csak 32 bites egészekre
vonatkoznak!
EGYÉB SZABÁLYOK AZ IEEE 754-BEN



Kivételkezelés (±∞)
   ∞ * 0 → NaN
-0 és +0 működése
Kerekítési szabályok
EGY PÉLDA A KEREKÍTÉSI SZABÁLYRA

Infinity === 9999999999999999999999999
9999999999999999999999999999999999
9999999999999999999999999999999999
9999999999999999999999999999999999
9999999999999999999999999999999999
9999999999999999999999999999999999
9999999999999999999999999999999999
9999999999999999999999999999
99999999999999999999999999
99999999999999999999999999;
AMIT LEGGYAKRABBAN ELFELEJTENEK




Számokat soha nem
vizsgálunk kizárólag
   egyenlőséggel!
KÉRDÉSEK?




     Köszönöm a
      figyelmet!

                       Farkas Máté
            budapest.js, 2010.10.25
LINKEK
Farkas Máté – szofverfejlesztő (JavaScript, XUL)
   http://farkas-mate.hu/
   http://weblabor.hu/tagok/1741
   http://twitter.com/fmhu

IEEE 754, JavaScript, felhasznált irodalom
   http://en.wikipedia.org/wiki/IEEE_754-2008
   http://www.hunlock.com/blogs/The_Complete_Javascript_Number_Reference
   http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
   http://ecma262-5.com/ELS5_Section_8.htm#Section_8.5

eWorldCom, Virtual Call Center (munkahely)
  http://www.virtual-call-center.eu/hu
  http://www.eworldcom.hu

Kisdaróczy Gábor (design segítség)
   http://ironwill.hu

Weitere ähnliche Inhalte

Andere mochten auch

Kronologi isu tuntutan sulu ke atas sabah
Kronologi isu tuntutan sulu ke atas sabahKronologi isu tuntutan sulu ke atas sabah
Kronologi isu tuntutan sulu ke atas sabah
Faz Teeyta
 
Monitorización respiratoria pulsometria, capnografia y gases arteriales - CI...
Monitorización  respiratoria pulsometria, capnografia y gases arteriales - CI...Monitorización  respiratoria pulsometria, capnografia y gases arteriales - CI...
Monitorización respiratoria pulsometria, capnografia y gases arteriales - CI...
CICAT SALUD
 

Andere mochten auch (13)

Listen notes
Listen notesListen notes
Listen notes
 
Kronologi isu tuntutan sulu ke atas sabah
Kronologi isu tuntutan sulu ke atas sabahKronologi isu tuntutan sulu ke atas sabah
Kronologi isu tuntutan sulu ke atas sabah
 
Welfare, Employment & Energy Demand
Welfare, Employment & Energy DemandWelfare, Employment & Energy Demand
Welfare, Employment & Energy Demand
 
Politics & Governance for Practice in a Post-Carbon World
Politics & Governance for Practice in a Post-Carbon WorldPolitics & Governance for Practice in a Post-Carbon World
Politics & Governance for Practice in a Post-Carbon World
 
4 primate diversity i 1 l
4 primate diversity i 1 l4 primate diversity i 1 l
4 primate diversity i 1 l
 
Governing Transitions in Energy (Demand)
Governing Transitions in Energy (Demand)Governing Transitions in Energy (Demand)
Governing Transitions in Energy (Demand)
 
Governing Transitions in Energy Demand
Governing Transitions in Energy DemandGoverning Transitions in Energy Demand
Governing Transitions in Energy Demand
 
Governmentality, Practice & Transitions in Energy Demand
Governmentality, Practice & Transitions in Energy DemandGovernmentality, Practice & Transitions in Energy Demand
Governmentality, Practice & Transitions in Energy Demand
 
El mundo desarrollado
El mundo desarrolladoEl mundo desarrollado
El mundo desarrollado
 
Falafels and Kofta
Falafels and Kofta Falafels and Kofta
Falafels and Kofta
 
151208581 credit-and-transactions-cases
151208581 credit-and-transactions-cases151208581 credit-and-transactions-cases
151208581 credit-and-transactions-cases
 
Monitorización respiratoria pulsometria, capnografia y gases arteriales - CI...
Monitorización  respiratoria pulsometria, capnografia y gases arteriales - CI...Monitorización  respiratoria pulsometria, capnografia y gases arteriales - CI...
Monitorización respiratoria pulsometria, capnografia y gases arteriales - CI...
 
Procesos prioritarios asistenciales 2013
Procesos prioritarios asistenciales 2013Procesos prioritarios asistenciales 2013
Procesos prioritarios asistenciales 2013
 

Mehr von Máté Farkas

Mehr von Máté Farkas (11)

Object Oriented JavaScript
Object Oriented JavaScriptObject Oriented JavaScript
Object Oriented JavaScript
 
Osztályozzunk!
Osztályozzunk!Osztályozzunk!
Osztályozzunk!
 
CSS előfeldolgozók
CSS előfeldolgozókCSS előfeldolgozók
CSS előfeldolgozók
 
Dokumentáljunk, de hogyan?
Dokumentáljunk, de hogyan?Dokumentáljunk, de hogyan?
Dokumentáljunk, de hogyan?
 
Git és/vagy Subversion
Git és/vagy SubversionGit és/vagy Subversion
Git és/vagy Subversion
 
Egyszálú JavaScript
Egyszálú JavaScriptEgyszálú JavaScript
Egyszálú JavaScript
 
ECMAScript 5 Classes
ECMAScript 5 ClassesECMAScript 5 Classes
ECMAScript 5 Classes
 
Use strict
Use strictUse strict
Use strict
 
Automatikus pontosvessző beszúrás a JavaScriptben
Automatikus pontosvessző beszúrás a JavaScriptbenAutomatikus pontosvessző beszúrás a JavaScriptben
Automatikus pontosvessző beszúrás a JavaScriptben
 
Többszálú javascript
Többszálú javascriptTöbbszálú javascript
Többszálú javascript
 
CSS előfeldolgozók
CSS előfeldolgozókCSS előfeldolgozók
CSS előfeldolgozók
 

IEEE-754