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 13:33 | IT novinky

    Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani

    … více »
    Ladislav Hagara | Komentářů: 1
    14.8. 16:33 | Zajímavý projekt

    Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).

    |🇵🇸 | Komentářů: 3
    14.8. 14:33 | IT novinky

    Prusa Research představil nové modely svých 3D tiskáren: Prusa XL+, CORE One+ (Gen 2) a CORE One L+.

    Ladislav Hagara | Komentářů: 1
    14.8. 13:33 | Nová verze

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.64. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    14.8. 03:44 | Nová verze

    NVIDIA na konci ledna vydala v beta verzi nativního linuxového klienta své cloudové herní služby GeForce NOW. Včera oznámila ukončení beta verze a oficiální podporu Linuxu.

    Ladislav Hagara | Komentářů: 0
    14.8. 02:33 | Nová verze

    Byla vydána nová verze 3.5.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 33 zranitelností.

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

    Organizace Apache Software Foundation (ASF) vydala verzi 31 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    13.8. 16:44 | IT novinky

    Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.

    |🇵🇸 | Komentářů: 0
    13.8. 14:22 | IT novinky

    Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.

    Ladislav Hagara | Komentářů: 17
    13.8. 06:00 | IT novinky

    Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.

    Ladislav Hagara | Komentářů: 28
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2393 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 2087×
    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: 71 | 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: 71 | 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: 71 | 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.