abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 22:22 | Nová verze

    CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag). Vydána byla nová major verze 10 (aktuálně 10.4.0). Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 19:22 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-1 Focal založené na Ubuntu 20.04 Focal Fossa.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | IT novinky

    Společnost Red Hat slaví 30 let.

    Ladislav Hagara | Komentářů: 1
    včera 15:22 | IT novinky

    Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).

    Ladislav Hagara | Komentářů: 0
    včera 11:00 | IT novinky

    Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.

    Ladislav Hagara | Komentářů: 0
    26.3. 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 7
    26.3. 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 29
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (11%)
    Celkem 341 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: strojove epsilon a 32bit OS vs. 64bit OS

    7.3.2006 13:10 oxymoron
    strojove epsilon a 32bit OS vs. 64bit OS
    Přečteno: 695×
    zaujimalo by ma cim to je ze ked skomilujem a spustim toto :
    #include <float.h>
    #include <stdio.h>
    
    int main(int argc, char* argv[])
    {
    
    
            double eps=1.0;
            while(1) {
                    eps=eps/2.0;
                    if( (1.0 + (eps/2.0)) == 1.0 ) break;
            }
            printf("vypocitane eps= %.67f\n",eps);
            printf("konstanta DBL = %.67f\n",DBL_EPSILON);
            
            return 0;
    }
    
    pod gentoo 32bit vysledok je :
    32bit Linux OS
    0.00000000000000000010842021724855044340074528008699417114257812500     -vypocitane eps
    0.00000000000000022204460492503130808472633361816406250000000000000     -konstanta DBL_EPSILON
    
    a pod gentoo 64bit vysledok je :
    0.00000000000000022204460492503130808472633361816406250000000000000     -vypocitane eps
    0.00000000000000022204460492503130808472633361816406250000000000000     -konstanta DBL_EPSILON
    
    nemalo by byt pod 64bit strojove epsilon mensie ako pod 32bit?

    Odpovědi

    7.3.2006 16:21 Lubos
    Rozbalit Rozbalit vše Re: strojove epsilon a 32bit OS vs. 64bit OS
    Proc je tam ten rozdil nereknu, ale jde o double precision floating point operaci, na delce integer registru cpu tim padem kulovy zalezi. Takze jde o implementaci knihoven pro double, tudiz ask your c libraries author :)
    7.3.2006 16:26 Lubos
    Rozbalit Rozbalit vše Re: strojove epsilon a 32bit OS vs. 64bit OS
    Mozna bych to radeji zkusil zapsat takto:
    
    double eps=1.0;
    double jedna=1.0;
    double dva=2.0;
    while(1)
     {
      eps=eps/dva;
      if( (jedna + (eps/dva)) == jedna ) break;
     }
    
    Schvalne, co to spocita takhle.
    7.3.2006 19:04 oxymoron
    Rozbalit Rozbalit vše Re: strojove epsilon a 32bit OS vs. 64bit OS
    je to to iste :)
    7.3.2006 21:57 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: strojove epsilon a 32bit OS vs. 64bit OS
    Zkuste se podívat na výsledný kód (použijte -S). Zatímco 32-bitová verze používá registry koprocesoru a nechává koprocesor provést i porovnání, 64-bitová pracuje s registry %xmm0 a spol. Problém je pravděpodobně v tom, že koprocesor interně pracuje s vyšší přesností, než jakou následně prezentuje ven (pokud si dobře vzpomínám, interně koprocesor pracuje s 96-bitovými hodnotami, zatímco typ long double je pouze 64-bitový). Tomu by nasvědčovala i skutečnost, že pokud si výraz (1.0 + (eps/2.0)) necháte uložit do proměnné a tu porovnáte s jedničkou, vyjde vám to na obou platformách stejně.

    Aneb další příklad na známý poznatek, že porovnávat reálná čísla na rovnost znamená koledovat si o naprosto nedeterministické chování programu.

    7.3.2006 22:02 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: strojove epsilon a 32bit OS vs. 64bit OS
    Oprava, mělo tam být "…zatímco typ double je pouze 64-bitový", což je pravda (pro gcc 4.0.2) ve 32-bitové i 64-bitové verzi. Typ long double je různý: s -m32 96-bitový a s -m64 128-bitový.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.