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 23:44 | Nová verze

    GKrellM (GNU Krell Monitors, Wikipedie), tj. grafická aplikace pro sledování systémů a různých událostí, byla po pěti a půl letech vydána v nové verzi 2.4.0. Přehled novinek na Gitea.

    Ladislav Hagara | Komentářů: 0
    včera 19:55 | Humor

    Americká první dáma Melania Trumpová vydala v předvečer manželovy inaugurace vlastní kryptoměnu. Jmenuje se $Melania. Donald Trump vydal vlastní kryptoměnu $Trump den před manželkou.

    Ladislav Hagara | Komentářů: 5
    včera 11:33 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 16.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    včera 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.12 oznámil Linus Torvalds vydání Linuxu 6.13. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Odstraněn byl souborový systém ReiserFS.

    Ladislav Hagara | Komentářů: 0
    19.1. 16:11 | IT novinky

    19. ledna 2038 přeteče hodnota time_t na 32bitových systémech, na vyřešení problému roku 2038 (Y2K38) tedy zbývá 13 let. Např. Debian v uplynulém roce přešel na 64bitový čas. Bernhard Wiedemann z openSUSE sdílí chyby v sestavení rozšířeného softwaru.

    Fluttershy, yay! | Komentářů: 0
    19.1. 15:44 | Nová verze

    Byla vydána druhá opravná verze 21.2 v dubnu loňského roku vydané verze 21 multimediálního centra Kodi (dříve XBMC, Wikipedie) s kódovým označením Omega.

    Ladislav Hagara | Komentářů: 0
    19.1. 12:22 | IT novinky

    TikTok ve Spojených státech v sobotu večer místního času přerušil činnost. Uživatelé čínskou firmou vlastněné sociální sítě dostali zprávu, že aplikaci kvůli zákazu nelze používat. TikTok je momentálně nedostupný v obchodech s aplikacemi Google Play a App Store. Podle zákona přijatého loni a potvrzeného v pátek soudem měla platforma do dneška přerušit spojení se svou mateřskou společností ByteDance, která sídlí v Číně, nebo činnost v

    … více »
    Ladislav Hagara | Komentářů: 13
    18.1. 23:00 | Nová verze

    Wings 3D, tj. open source 3D modelovací program naprogramovaný v programovacím jazyce Erlang zaměřený na modelování pomocí subdivision a inspirovaný programy Nendo a Mirai od Izware, byl vydán v nové opravné verzi 2.4.1. Ke stažení již také ve formátu Flatpak z Flathubu.

    Ladislav Hagara | Komentářů: 0
    18.1. 22:22 | Nová verze

    Webový prohlížeč Dillo byl vydán ve verzi 3.2.0. Přidává podporu vzorců v SVG, obrázků ve WebP, změny velikosti stránky či možností posouvání. Nedávno oslavil 25. výročí vzniku.

    Fluttershy, yay! | Komentářů: 0
    18.1. 01:33 | Zajímavý software

    Hra Mini Thief je na Steamu zdarma napořád, když aktivaci provedete do 24. ledna do 19.00 [ProtonDB].

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: C(++), Bash, Python, Ruby: Přesnost na desetinná místa

    David Watzke avatar 14.2.2006 22:12 David Watzke | skóre: 74 | blog: Blog... | Praha
    C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Přečteno: 1904×
    Ahoj. Chtěl bych se zeptat jak v jazycích C(++), Bash, Python a Ruby počítat s přesností na desetinná místa (abych si mohl vybrat kolik těch míst). Všechny tyto jazyky defaultně zaokrouhlují a ještě k tomu blbě... :-)

    Bash
    $ expr 5 / 2
    2
    Python
    >>> 5 / 2
    2
    atd...

    Díky.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    Odpovědi

    14.2.2006 22:20 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Nemá tě to rádo :-)
    >>> 5.0 / 2.0
    2.5
    
    Copak toho není dost?
    David Watzke avatar 14.2.2006 22:29 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Bože.. tohle mě fakt nenapadlo. Jako s tím sleepem tenkrát... Omlouvá mě to, jak šíleně jsem ospalej? ;-)

    No díky :-) Python máme zdá se v kapse.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    14.2.2006 22:24 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    V C je odpověď jasná: printf("%.4f", 5.0 / 2.0); V bashi použij bc (před cca týdnem o něm vyšel článek na rootu). Ruby a Python nepoužívám.
    Užívej dne – možná je tvůj poslední.
    David Watzke avatar 14.2.2006 22:35 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Děkuju, přečtu si to :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    14.2.2006 22:28 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Pokud vám nebude stačit přesnost typu long double, nezbyde buď použít nějakou hotovou knihovnu typu GMP nebo si napsat vlastní implementaci.

    Ale z těch vašich příkladů soudím, že pro začátek bude lepší začít dokumentací nebo učebnicí těch jazyků, konkrétně kapitolou o datových typech.

    David Watzke avatar 14.2.2006 22:31 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Ale z těch vašich příkladů soudím, ...
    K tomu to fakt nepotřebuju :-) Je to fakt jen příklad.

    Díky!
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    14.2.2006 22:51 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Asi jste mne nepochopil. Z toho, že se divíte, že '5 / 2' vám vyjde jako 2, a komentujete to, že ten jazyk "zaokrouhluje a ještě špatně", vyplývá, že máte velmi nepřesnou představu o tom, jak je ten výraz vyhodnocován. A to byste si měl ve vlastním zájmu doplnit, pokud to s programováním myslíte vážně.
    David Watzke avatar 14.2.2006 22:57 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Myslím to vážně. A doplním. Bylo mi jasný, že to nebude tak jednoduchý... ale skutečně jsem se domníval, že se pokouší zaokrouhlovat.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    4.9.2007 12:30 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Ano, vím, že komentuju 566 dní starý dotaz ;-), ale stejně si dovolím - pro úplnost - doplnit:
    ruby -rmathn -e 'puts 5/2'
    5/2
    ruby -rmathn -e 'puts 225054544/55655613 + 856564/4545547'
    82359123216100/19460400361947
    
    Zlomky (s čitateli a jmenovateli libovolné délky) nám rozhodně nechybí. :-)
    14.9.2007 12:09 Petr Mach | skóre: 9 | blog: Hláska
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Součástí pythonu je knihovna/modul decimal pro přesná desetinná místa. Řeší problém zaokrouhlování způsobený binární soustavou, která neumí například přesně vyjádřit číslo 0,1 stejně jako desítková soustava neumí přesně vyjádřit 1/3.
    David Watzke avatar 14.2.2006 22:54 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Pro úplnost, Ruby funguje podobně jako Python:
    $ ruby -e 'print 5.0 / 2.2'
    2.27272727272727
    $ python -c 'print 5.0 / 2.2'
    2.27272727273
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    14.2.2006 22:57 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Když se všechny tyhle jazyky chovají stejně, vyvstává otázka, totiž, čím to? ;-)
    Copak toho není dost?
    14.2.2006 23:01 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    To bude na beton nějaké porušení Intellectual Property… :-)
    5.9.2007 07:37 Ouplnej anonym
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Všechny jazyky nééé:
    01 DELENI
      02 PRVNI-CLEN		PIC 999V99.
      02 DRUHY-CLEN		PIC 999V99.
      02 VYSLEDEK		PIC 999V99.
    
    ...
    
    PROCEDURE DIVISION.
    MAIN-000.
    ...
      MOVE 5 TO PRVNI-CLEN.
      MOVE 2 TO DRUHY-CLEN.
      DIVIDE PRVNI-CLEN BY DRUHY-CLEN GIVING VYSLEDEK.
    ...
    
    
    Kód jsem netestoval, nemám tu překladač ;-)
    14.2.2006 22:57 barney
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    no, v C (a C++) kompilátor určuje typ ako "najmenší možný".
    takže 5 je int (signed), a teda aj delenie je celočíselné.

    bash to má popísané priamo v manuáli
    tie dve zlátaniny na(ne)štastie nemam nainštalované :-))
    zaujímavé, v perli je to hned 2.5 :-)

    14.2.2006 23:16 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    zaujímavé, v perli je to hned 2.5 :-)
    Teď teda nevím, jestli to brát jako plus, nebo mínus ... vzhledem k tomu, že Perl moc nemusím ... ;-)
    When your hammer is C++, everything begins to look like a thumb.
    Josef Kufner avatar 15.2.2006 01:24 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    už vidím, jak perl zkoumá pole a odhaduje dvou a půltý prvek :-D
    Hello world ! Segmentation fault (core dumped)
    5.9.2007 08:36 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    :-) ak je to ARRAY, tak najprv na index aplikuje funkciu int :-)
    na také drobnosti sa myslelo :-)
    15.2.2006 01:36 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Javascript se chová naprosto stejně hláše se k tomu i v dokumentaci.

    1/2 //returns 0.5 in JavaScript
    4.9.2007 20:08 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    V bashi nie je problem pocitat s fixnou presnostou. Proste namiesto $((5/2)) spocitas $((500/2)) a mas to na 2 desatinne miesta. A finalne vypisovat trikovo
    echo ${premenna%??}.${premenna: -2}
    If you hold a Unix shell up to your ear, you can you hear the C.
    David Watzke avatar 4.9.2007 20:13 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Jo, za ty dva roky jsem se leccos naučil... :-)

    Místo ${premenna%??} je zde lepší použít ${premenna:0:1} (první číslo je od kolikátýho znaku a druhý kolik znaků).
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    5.9.2007 00:12 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Jo, za ty dva roky jsem se leccos naučil... :-)

    Tak v tom smelo pokracuj :-)

    Ako chces inak vypisat vsetky znaky premennej okrem poslednych 2 (v pripade pocitania na 2 desatinne miesta)? Pretoze dopredu nevies ako je premenna dlha, vies iba dlzku desatinnej casti.
    If you hold a Unix shell up to your ear, you can you hear the C.
    David Watzke avatar 5.9.2007 15:00 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Jo, máš pravdu - jsem hlupák :-) Jak je proměnná dlouhá není problém ${#zjistit}, ale to je v tomhle případě zbytečný. To je tak, když člověk dělá chytrýho.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    5.9.2007 12:16 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
    Rozbalit Rozbalit vše Re: C(++), Bash, Python, Ruby: Přesnost na desetinná místa
    Všechny tyto jazyky defaultně zaokrouhlují a ještě k tomu blbě... :-)
    Neni to zaokruhlovanie ale delenie zo zvyskom!
    $ expr 5 / 2
    2
    $ expr 5 % 2
    1
    
    Cize 5 deleno 2 je 2 a zvysok 1 (uplne normalna matika ;o).

    V C(++) staci ked su cisla v niecom co ma desatinne miesta (fload, double) alebo to pretipujes pred delenim.
    V bashi je mozne pouzit napr. bc.
    $ echo "5/2" | bc -l
    2.50000000000000000000
    $
    
    Ostatne moc nepoznam.

    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.