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í
×
dnes 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
dnes 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 2
dnes 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 1
včera 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 16
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 28
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 3
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 56
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
16.2. 23:13 | Nová verze

Byla vydána verze 0.92.1 svobodného multiplatformního vektorového grafického editoru Inkscape. Přehled novinek v poznámkách k vydání. Řešen je mimo jiné problém s verzí 0.92, jež rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Více v příspěvku na blogu Davida Revoye, autora open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 666 hlasů
 Komentářů: 53, poslední dnes 18:38
Rozcestník
Reklama

Dotaz: [c] generování náhodných desetinných čísel

14.10.2012 19:30 Medved
[c] generování náhodných desetinných čísel
Přečteno: 956×
Dobrý den, Potřeboval bych radu ohledně vygenerování náhodných desetinných čísel v c. Můj požadavek je generovat čísla datovýho typu třebas float z intervalu (horní mez, dolní mez). Vím o funkcích rand() srand(), ale ty mi generují jen int. Já bych potřeboval generovat desetinná alespoň na počet míst co má float...existuje na to prosím nějaká funce? Děkuji

Řešení dotazu:


Odpovědi

14.10.2012 21:34 sss
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Mela by k tomu stacit jednoducha linearni funkce.
Josef Kufner avatar 14.10.2012 21:36 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
rand() / (double) RAND_MAX
Hello world ! Segmentation fault (core dumped)
14.10.2012 21:56 l4m4
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Ve standardní knihovně ne. Pokud ti stačí 23 bitů floatu, tak to asi moc velké nároky na generátor nemáš, a stačí vydělit integer získaný rand(), jak píše Josef Kufner.

Jinak zkus použít gsl_rng_uniform() z knihovny GSL s generátorem taus2, gfsr4 nebo mt13397.
14.10.2012 22:10 Jose
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Na některých platformách je RAND_MAX rovno jen 32767.
14.10.2012 23:43 l4m4
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Jistě, na některých platformách je int jen 16bitový, takže by se do něj ani větší číslo nevešlo.
15.10.2012 08:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Na některých platformách je int 32bitový a RAND_MAX rovno jen 32767.
Aby to bylo kompletní :-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Josef Kufner avatar 15.10.2012 09:53 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Ano, závisí to na implementaci generátoru. Tak jako tak, dělení čímkoliv jiným než RAND_MAX ovlivní rovnoměrnost rozložení generovaných čísel (tedy nemusí, pokud víš jak, ale šance to zvorat je dost vysoká).

Pokud je RAND_MAX rovno 2n - 1, tak můžeš vygenerovat více čísel, slepit je pomocí bitového psunu a vydělit odpovídajícím novým 2N - 1. To by mělo zachovat vlstnosti generátoru a zvýšit přesnost generovaných čísel.
Hello world ! Segmentation fault (core dumped)
15.10.2012 10:42 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Jen jsem doplnil, že RAND_MAX není přímo odvislý od velikosti int…
Jinak i tady se to trochu diskutovalo…
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
15.10.2012 09:36 kuka
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Predevsim si ujasni, zda chces desetinna cisla nebo cisla v pohyblive carce (float). Pokud destinna, tak trivialni pozorovani je, ze se jedna o cela cisla, do kterych se pouze "umisti" desetinna carka. Tzn. napr. pokud chces desetinne cislo mensi nez 1 s presnosti na x mist, vygeneruj si odpovidajici integer a pak si ho vydel 10^x.
15.10.2012 19:08 l4m4
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Mi přijde dost zvláštní označit toto jako řešení. Jednak se tedy neřeší, jak budu s těmi integery representujícími desetinná čísla pak cokoli dělat (použiji GMP?). A nebudou-li se čísla coby integery representovat pořád, tj. vzápětí se naivně vydělí tím 10x, tak je v tu chvíli po desetinné representaci, protože float desetinná čísla nerepresentuje přesně. Ale především ‚vygeneruj si odpovídající integer‘ je rada naprosto naprd, protože člověk, který se na takovou věc musí ptát, ho zaručeně bude generovat s biasem. Takže takhle ne.
15.10.2012 23:02 kuka
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Po pravde nevim, jestli je to reseni. Tazatel si stezoval, ze chce desetinna cisla, ale zna jen funkce pro nahodna cisla typu integer. Nerekl, co bude s temi cisly delat, a proto to neresim, co bych na tom jako mel resit? Moje rada smeruje k tomu, ze pokud umi integer, umi rovnou i desetinna cisla (coz vubec neznamena typu float - zda si je rozdilu vedom nevim). Vydeleni znamena prevod na desetinne cislo a pouze tazatel muze vedet, proc ho vlastne chce delat - pokud chce cislo treba jen vypsat, tak ho asi samotneho napadne, ze nic delit nema.
15.10.2012 14:24 tom
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
drand48() odkazuje se na to primo manualova stranka rand() pripadne se to da najit primocare pres apropos
$ apropos 'random number'
drand48 (3)          - generate uniformly distributed pseudo-random numbers
 ...
Naucte se pouzivat dokumentaci ;)
15.10.2012 14:37 l4m4
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
*rand48() používá klasickou lineární kongruenci, tudíž má sice více bitů, ale jinak je to pořád generátor naprd. Jak jsem psal, jsou-li na ten generátor vůbec nějaké požadavky, tak od těch v libc ruce pryč. Nejsou-li, tak je to jedno...
15.10.2012 14:45 tom
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Je-li ten pozadavek rychlost, tak libc na tom neni tak spatne. Treba v raytraceru je ta horsi kvalita trochu videt, ale pokud tim budete ridit prisery ve hrach, tak asi tezko nekdo neco pozna
15.10.2012 14:53 l4m4
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
OK, řízení příšer ve hrách není moje doména... Zato v Monte Carlo simulacích mohou i drobné problémy generování vést k nejrůznějším systematickým odchylkám, takže moje požadavky na ,skutečný` generátor asi začínají někde trochu jinde.
15.10.2012 16:21 Nikola Pajkovský | skóre: 16
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
/dev/random?
Save the whales. Feed the hungry. Free the mallocs
15.10.2012 18:58 l4m4
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
To je zase příšerně pomalé; /dev/random je fajn, když potřebuješ pár tisíc bitů na šifrovací klíč. Ne když jich potřebuješ pár bilionů na simulaci...
Goheeca avatar 15.10.2012 19:29 Goheeca | skóre: 7
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Trochu zlepšit se to dá pomocí audio-entropyd a generátorem bílého šumu.
15.10.2012 20:58 tom
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
To je pomale, na simulace je asi nejsnazsi pouzivat jako zdroj nahody soubor vygenerovanej nejakym lepsim generatorem.
15.10.2012 21:42 l4m4
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Což jsou (pro dobrý poměr náhodnost/CPU-náročnost) např. ty tři z GSL, které jsem vyjmenoval výše. Případně MWC generátory nebo ISAAC. Dneska se ještě lidi dost matlají s 32bitovými slovy, ale jelikož např. 64bitová instrukce násobení udělá čtyřikrát tolik práce co 32bitová (nikoli dvakrát), dají se z hlediska poměru náhodnost/CPU-náročnost ještě čekat slušné pokroky.

Otázka vždy je, zda a jak může člověk použít externí knihovnu, zda těch čísel potřebuje fakt obří množství (což preferuje inlinovatelný kód), jak používá vlákna, ... Bez znalosti detailů těžko říci, v takovém případě prostě radím GSL.
15.10.2012 17:12 nyan
Rozbalit Rozbalit vše Re: [c] generování náhodných desetinných čísel
Zajima vas spis rychlost generatoru, nebo spis pohodlnost (tj hledate existujici knihovnu ?)

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.