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

    Byla vydána verze 4.0 open source programu na kreslení grafů Veusz (Wikipedie). Přehled novinek v poznámkách k vydání. Proběhla portace na Qt 6.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Nová verze

    Dibuja je jednoduchý kreslící program inspirovaný programy Paintbrush pro macOS a Malování pro Windows. Vydána byla verze 0.26.0.

    Ladislav Hagara | Komentářů: 0
    31.5. 23:33 | Nová verze

    Byla vydána nová verze 9.13 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    31.5. 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    31.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.22.0, tj. první z nové řady 3.22, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    30.5. 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 52
    29.5. 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    29.5. 14:55 | Nová verze

    Společnost Netgate oznámila vydání nové verze 2.8.0 open source firewallové, routovací a VPN platformy pfSense (Wikipedie) postavené na FreeBSD. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    29.5. 14:00 | Nová verze

    Byla vydána nová verze 6.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 14.5.3. Linux na verzi 6.1.140. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    29.5. 12:33 | Zajímavý článek

    Člověk odsouzený za obchod s drogami daroval letos ministerstvu spravedlnosti 468 kusů kryptoměny bitcoin, které pak resort v aukcích prodal za skoro miliardu korun. Darováním se zabývá policejní Národní centrála proti organizovanému zločinu (NCOZ). Deníku N to potvrdil přímo ministr spravedlnosti Pavel Blažek (ODS). Podle resortu bylo nicméně vše v souladu s právem.

    Ladislav Hagara | Komentářů: 61
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 174 hlasů
     Komentářů: 14, poslední dnes 08:30
    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: 1918×
    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.