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:11 | Komunita

    Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.

    Ladislav Hagara | Komentářů: 2
    14.6. 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    14.6. 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 7
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    12.6. 16:33 | Bezpečnostní upozornění

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 13
    12.6. 11:33 | Nová verze

    Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.

    |🇵🇸 | Komentářů: 0
    12.6. 03:33 | Bezpečnostní upozornění

    Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.

    Ladislav Hagara | Komentářů: 2
    11.6. 14:11 | Komunita

    Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.

    Ladislav Hagara | Komentářů: 5
    11.6. 10:44 | Nová verze

    Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1911 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 1996×
    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.