Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #30974
| Newsgroups | pl.comp.programming |
|---|---|
| Date | 2017-11-29 20:42 -0800 |
| References | <aef027f7-2063-41a0-9f50-2136a3fd1032@googlegroups.com> |
| Message-ID | <f06eef58-9aed-49a3-8cc2-660dcf0a4c53@googlegroups.com> (permalink) |
| Subject | Re: Prosty generator pseudolosowy 8bit z limitem |
| From | bartekltg <bartekltg@gmail.com> |
On Tuesday, November 28, 2017 at 9:48:28 AM UTC+1, Adam Klobukowski wrote: > Poszukuję prostego (szybkiego) generatora pseudolosowego liczb 8bitowych z górnym limitem, tj. jak bym chciał sobie wylosować liczbę z zakresu 0-44. Możecie coś polecić? Dalej piszesz, że chcesz zmieniać w trakcie, to jedynym rozwiązaniem jest generator o zakresie pełnych 8 bitów i obcinanie-odrzucanie*) w lepszej werjsi, a modulo jak checsz mieć liczby ujowe. *) masz M liczb losowych, a chesz N, bierzesz największe k, takie, że N*k<M. Losujesz x, jeśli x/k <N x/k jest wynikiem, jeśli nie - repeta. No to czym generować te 8 bitów? Weź najprostszy generator kongruencyjny i bierz 8 bitów w miarę z góry. Co bardzije znane generatorki: (x * 48271) % 2147483647 (x * 16807) % 2147483647 Modulo 2^31-1. Ciut upierdliwe. Tu możesz sobie znaleść takie, które są mod 2^k (poza RANDU!) https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use Dlaczego taki duży stan, mimo, że chcesz tylko 8 bitów? Bo jeśli stan miałby tylko 8 bitów, generatorek miałby okres co nauwyżej 256. Dla 16 bitów co najwyżęj 65536. Mało. Poza i tak rzadko więcej niż połowa bitów takiej liczby zachowuje się ładnie. Ładną alternatywą jest też xorshift*. BTW. Coś mi mówi, że zadałeś nie to pytanie, które chciałeś. Czy przypadkiem nie istotniejsze jest to, że ma to szybko banglać na 8 lub 16 bitowym urządzeniu? ;-> Wtedy to zupełnie inny problem. pzdr bartekltg
Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-28 00:48 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-28 05:13 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-28 05:17 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 01:20 +0100
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 09:41 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 19:12 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-29 00:48 -0800
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 10:19 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-29 02:23 -0800
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 14:01 +0100
Re: Prosty generator pseudolosowy 8bit z limitem Stregor <stregor@wytnij.to.gmail.com> - 2017-11-29 14:28 +0100
Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-30 22:01 -0800
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-12-02 02:46 +0100
Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-12-04 08:34 -0800
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-12-06 09:58 +0100
Re: Prosty generator pseudolosowy 8bit z limitem Roman Tyczka <noemail@because.no> - 2017-12-06 20:14 +0100
Re: Prosty generator pseudolosowy 8bit z limitem fir <profesor.fir@gmail.com> - 2017-12-06 01:40 -0800
Re: Prosty generator pseudolosowy 8bit z limitem fir <profesor.fir@gmail.com> - 2017-12-06 09:22 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-12-06 20:07 +0100
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-12-06 21:27 +0100
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-12-06 21:30 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-12-07 01:09 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-12-06 18:54 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-12-06 20:15 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-12-08 08:53 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-12-09 07:27 -0800
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 14:04 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 19:38 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 19:34 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 19:29 +0100
Re: Prosty generator pseudolosowy 8bit z limitem szykcech@gmail.com - 2017-11-28 05:50 -0800
Re: Prosty generator pseudolosowy 8bit z limitem szykcech@gmail.com - 2017-11-28 06:09 -0800
Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-28 08:39 -0800
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-28 20:13 +0100
Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-28 21:59 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "Radoslaw Szwed" <radekszwed@pochta.fm> - 2017-11-29 07:55 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 18:48 +0100
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 20:29 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 20:38 +0100
Re: Prosty generator pseudolosowy 8bit z limitem bartekltg <bartekltg@gmail.com> - 2017-11-29 20:43 -0800
Re: Prosty generator pseudolosowy 8bit z limitem szykcech@gmail.com - 2017-11-28 19:53 -0800
Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-28 22:00 -0800
Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 09:44 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 20:34 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-30 04:57 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-12-01 01:05 +0100
Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-29 00:41 -0800
Re: Prosty generator pseudolosowy 8bit z limitem bartekltg <bartekltg@gmail.com> - 2017-11-29 20:42 -0800
Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-30 22:04 -0800
Re: Prosty generator pseudolosowy 8bit z limitem "Radoslaw Szwed" <radekszwed@pochta.fm> - 2017-11-30 07:31 +0100
Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-30 22:04 -0800
csiph-web