Dlaczego generowanie 8 losowych bitów jest jednolite na (0, 255)?


35

Generuję 8 losowych bitów (0 lub 1) i łączę je ze sobą, tworząc liczbę 8-bitową. Prosta symulacja Pythona daje równomierny rozkład w zestawie dyskretnym [0, 255].

Próbuję uzasadnić, dlaczego to ma sens w mojej głowie. Jeśli porównam to do rzucenia 8 monetami, czy oczekiwana wartość nie wyniesie gdzieś około 4 głów / 4 ogonów? Dla mnie więc sensowne jest, że moje wyniki powinny odzwierciedlać skok w środku zakresu. Innymi słowy, dlaczego sekwencja 8 zer lub 8 zer wydaje się być równie prawdopodobna jak sekwencja 4 i 4 lub 5 i 3 itd.? Czego tu brakuje?


17
Oczekiwana wartość rozkładu bitów w jednorodnym losowym zakresie [0,255] wynosi również około 4 1/4 0.
user253751

2
Tylko dlatego, że przypisujesz równą wagę każdej liczbie od 0 do 255, nie oznacza to, że wynik funkcji „różnica między liczbą 1 i 0” wystąpi również raz i tylko raz. Mógłbym przypisać taką samą wagę każdej osobie w mojej organizacji. Nie oznacza to, że ich wiek byłby równy. Niektóre grupy wiekowe mogą być znacznie częstsze niż inne. Ale jedna osoba nie jest bardziej powszechna niż jakakolwiek inna osoba.
Brad Thomas

2
Pomyśl o tym w ten sposób ... Twój pierwszy losowy bit określi wartość bitu 7, 1 jest wart 128, a 0 - 0. Spośród 256 liczb masz 50% szansy na 0-127, jeśli bit ma wartość 0, a 128–255, jeśli bit ma wartość 1. Powiedzmy, że ma wartość 0, a następnie następny bit określa, czy wynikiem będzie 0–63, czy 64–127. Wszystkie 8 bitów jest wymaganych do utworzenia jednego z 256 równie prawdopodobnych wyników. Zastanawiasz się nad dodaniem sum jak do kości. Szanse na uzyskanie 4 1s i 4 0s są wyższe niż zdobycie 8 1s, ale istnieje więcej sposobów, w jakie można je ustawić, aby dać ci inny wynik.
Jason Goemaat

2
Załóżmy, że rzucisz rzetelną 256-stronną kostką oznaczoną cyframi od 0 do 255. Spodziewałbyś się równomiernego rozkładu. Przypuśćmy teraz, że ponownie umieścisz etykietę tak, że jedna strona mówi 0, 8 stron mówi 1, 28 stron mówi 2 i tak dalej; każda strona jest teraz oznaczona liczbą bitów w liczbie, która była po tej stronie. Rzucasz kostką ponownie; dlaczego miałbyś oczekiwać jednolitego rozkładu liczb od 0 do 8?
Eric Lippert,

Gdyby dystrybucja działała w ten sposób, mógłbym zarobić dużo pieniędzy na zakłady w ruletkę dopiero po pojawieniu się 7 czerwonych z rzędu. 7 i 1 jest więcej 8 razy bardziej prawdopodobne niż 8 i 0! (ignorując 0, ale to pochylenie znacznie przewyższa 0, i 00 pochylenie)
Cruncher

Odpowiedzi:


61

TL; DR: Ostry kontrast między bitami a monetami polega na tym, że w przypadku monet ignorujesz kolejność wyników. HHHHTTTT jest traktowany tak samo jak TTTTHHHH (oba mają 4 głowy i 4 ogony). Ale w bitach zależy Ci na kolejności (ponieważ musisz nadać „wagi” pozycjom bitów, aby uzyskać 256 wyników), więc 11110000 różni się od 00001111.


Dłuższe wyjaśnienie: koncepcje te można bardziej precyzyjnie ujednolicić, jeśli jesteśmy bardziej formalni w formułowaniu problemu. Traktuj eksperyment jako sekwencję ośmiu prób z dychotomicznymi wynikami i prawdopodobieństwem „sukcesu” 0,5 i „porażki” 0,5, a próby są niezależne. Zasadniczo nazywam to sukcesami, n całkowitymi próbami i n - k niepowodzeniami, a prawdopodobieństwo sukcesu wynosi p .knnkp

  • W przykładzie monety wynik „ głów, n - k ogonów” ignoruje kolejność prób (4 głowy to 4 głowy bez względu na kolejność występowania), co daje podstawę do obserwacji, że 4 głowy są bardziej prawdopodobne niż 0 lub 8 głów. Cztery głowy są bardziej powszechne, ponieważ istnieje wiele sposobów na wykonanie czterech głów (TTHHTTHH lub HHTTHHTT itp.) Niż istnieje inna liczba (8 głów ma tylko jedną sekwencję). Twierdzenie dwumianowe podaje liczbę sposobów na wykonanie tych różnych konfiguracji.knk

  • Natomiast kolejność jest ważna dla bitów, ponieważ każde miejsce ma przypisaną „wagę” lub „wartość miejsca”. Jedną właściwością współczynnika dwumianowego jest to, że , to znaczy jeśli policzymy wszystkie różne uporządkowane sekwencje, otrzymamy28=256. To bezpośrednio łączy pomysł na wiele różnych sposobów2n=k=0n(nk)28=256 głowy n dwumianowego próby do liczby różnych sekwencji bajtów.kn

  • Ponadto możemy wykazać, że 256 wyników jest równie prawdopodobne dzięki własności niezależności. Poprzednie próby nie mają wpływu na kolejną próbę, więc prawdopodobieństwo konkretnego uporządkowania wynosi na ogół (ponieważ łączne prawdopodobieństwo wystąpienia niezależnych zdarzeń jest iloczynem ich prawdopodobieństwa). Ponieważ próby są uczciwe, P ( sukces ) = P ( niepowodzenie ) = p = 0,5 , to wyrażenie zmniejsza się do P.pk(1p)nkP(success)=P(fail)=p=0.5 . Ponieważ wszystkie zamówienia mają takie samo prawdopodobieństwo, mamy równomierny rozkład tych wyników (który przez kodowanie binarne może być reprezentowane jako liczby całkowite wP(any ordering)=0.58=1256 ).[0,255]

  • Wreszcie możemy przywrócić to pełne koło z powrotem do rzutu monetą i rozkładu dwumianowego. Wiemy, że wystąpienie 0 głów nie ma takiego samego prawdopodobieństwa jak 4 głowy, a to dlatego, że istnieją różne sposoby porządkowania wystąpień 4 głów, a liczba takich porządków jest podana przez twierdzenie dwumianowe. Zatem musi być w jakiś sposób ważone, a konkretnie musi być ważone przez współczynnik dwumianowy. To daje nam PMF rozkładu dwumianowego, P ( k  sukcesów ) =P(4 heads). Może być zaskakujące, że to wyrażenie jest PMF, szczególnie dlatego, że nie jest od razu oczywiste, że sumuje się do 1. Aby zweryfikować, musimy sprawdzić, czy n k = 0 ( nP(k successes)=(nk)pk(1p)nk, jednak jest to tylko problem współczynników dwumianowych:1=1n=(p+1-p)n= n k = 0 ( nk=0n(nk)pk(1p)nk=1.1=1n=(p+1p)n=k=0n(nk)pk(1p)nk


To ma sens ... ale czy nie spodziewalibyśmy się, że 15, 30, 60, 120 i 240 będą miały wyższą wagę w rozkładzie niż 0 lub 255?
szklisty

1
Myślę, że teraz to rozumiem. Przyjmuję tę odpowiedź, ponieważ myślę, że kluczem jest tu porządek, na który zwróciłeś uwagę. Dzięki
szklisty

Jeszcze jedna uwaga - na przykład mój przykład z monetą, to naprawdę rzuca 8 monetami w tym samym czasie, w przeciwieństwie do 8 prób rzutu monetą. To skłamało moje zamieszanie.
szklisty

2
Pojęcie „wartości miejsca” z „arytmetyki klasy elementarnej” ma tutaj szczególne zastosowanie; aby użyć analogii dziesiętnej, uważa się 10001000i 10000001są to zupełnie różne liczby.
JM nie jest statystykiem

17

dlaczego sekwencja 8 zer lub 8 zer wydaje się być równie prawdopodobna jak sekwencja 4 i 4 lub 5 i 3 itd.

Pozorny paradoks można streścić w dwóch twierdzeniach, które mogą wydawać się sprzeczne:

  1. Sekwencja (osiem zer) jest równie prawdopodobna jak sekwencja s 2 : 01010101 (cztery zera, cztery jedynki). (Ogólnie: wszystkie 2 8s1:00000000s2:0101010128 sekwencji ma takie samo prawdopodobieństwo, niezależnie od liczby zer / jedynek).

  2. Zdarzenie „ : sekwencja miała cztery zera ” jest bardziej prawdopodobne (w rzeczywistości 70 razy bardziej prawdopodobne) niż zdarzenie „ e 2 : sekwencja miała osiem zer.e170e2 ”.

Te twierdzenia są prawdziwe. Ponieważ zdarzenie obejmuje wiele sekwencji.e1


8

Wszystkie sekwencje mają takie samo prawdopodobieństwo 1/ 2 8 = 1/256. Błędem jest sądzić, że sekwencje, które są bliższe równej liczbie zer i jedynek, są bardziej prawdopodobne, gdy pytanie jest interpretowane. Powinno być jasne, że dochodzimy do 1/256, ponieważ zakładamy niezależność od procesu do procesu . Dlatego mnożymy prawdopodobieństwa, a wynik jednej próby nie ma wpływu na następną.2828


2
To byłaby w porządku, jeśli krótka, odpowiedź ... gdyby pytanie nie zawierało słowa „dlaczego”. W tej chwili powtarzasz tylko jeden z danych pytań, nie podając żadnego wyjaśnienia.
Tin Man

1
Właściwie ... Ta odpowiedź jest nieprawdziwa, zobacz odpowiedź leonbloy, dlaczego.
Tin Man

3
@Walt to nie jest nieprawidłowe. Subtelność języka. Dana sekwencja nie jest bardziej prawdopodobna, ponieważ ma mniej nierównowagi między 0 a 1. Jest po prostu więcej takich sekwencji .
hobbs

4
Czy ktoś się ze mną zgadza? Jeśli 0 ma prawdopodobieństwo 1/2 i 1 1/2, a prawdopodobieństwo ma jeden termin w sekwencji nie zależy od następnego prawdopodobieństwo danej sekwencji o długości 8 ma prawdopodobieństwo . podobnie jak każda inna sekwencja 8.1/28=1/256
Michael R. Chernick

4
@Michael W pełni się zgadzam i cieszę się - wreszcie! - wyraźny apel do sedna sprawy: niezależności. Z przyjemnością poprę twoją odpowiedź, jeśli włączysz do niej ten komentarz.
whuber

7

PRZYKŁAD z 3 bitami (często przykład jest bardziej ilustracyjny)

Napiszę liczby naturalne od 0 do 7 jako:

  • Liczba w bazie 10
  • Liczba w bazie 2 (tj. Sekwencja bitów)
  • Seria rzutów monetą sugerowana przez reprezentację podstawy 2 (1 oznacza przewrócenie głów, a 0 oznacza przewrócenie ogonów).

Baza 10Baza 2 (z 3 bitami)Implied Coin Flip SeriesHeadsOgony0000T.T.T.03)1001T.T.H.12)2)010T.H.T.12)3)011T.H.H.2)14100H.T.T.12)5101H.T.H.2)16110H.H.T.2)17111H.H.H.3)0

Wybór liczby naturalnej od 0 do 7 z jednakowym prawdopodobieństwem jest równoznaczny z wybraniem jednej z serii rzutów monetą po prawej z jednakowym prawdopodobieństwem.

18 chance of choosing 3 heads, 38 chance of choosing 2 heads, 38 chance of choosing 1 head, and 18 chance of choosing 0 heads.


3

Sycorax's answer is correct, but it seems like you're not entirely clear on why. When you flip 8 coins or generate 8 random bits taking order into account, your result will be one of 256 equally likely possibilities. In your case, each of these 256 possible outcomes uniquely map to an integer, so you get a uniform distribution as your result.

If you don't take order into account, such as considering just how many heads or tails you got, there are only 9 possible outcomes (0 Heads/8 Tails - 8 Heads/0 Tails), and they're no longer equally likely. The reason for this is because out of the 256 possible results, there are 1 combination of flips that gives you 8 Heads/0 Tails (HHHHHHHH) and 8 combinations that give 7 Heads/1 Tails (a Tails in each of the 8 positions in the order), but 8C4 = 70 ways to have 4 Heads and 4 Tails. In the coin flipping case each of those 70 combinations maps to 4 Heads/4 Tails, but in the binary number problem each of those 70 outcomes maps to a unique integer.


2

The problem, restated, is: Why is the number of combinations of 8 random binary digits taken as 0 to 8 selected digits (e.g., the 1's) at a time different from the number of permutations of 8 random binary digits. In the context herein, random choice of 0's and 1's means that each digit is independent of any other, so that digits are uncorrelated and p(0)=p(1)=12; .

The answer is: There are two different encodings; 1) lossless encoding of permutations and 2) lossy encoding of combinations.

Ad 1) To lossless encode the numbers so that each sequence is unique we can view that number as being a binary integer i=182i1Xi, where Xi are the left to right ith digits in the binary sequence of random 0's and 1's. What that does is make each permutation unique, as each random digit is then positional encoded. And the total number of permutations is then 28=256. Then, coincidentally one can translate those binary digits into the base 10 numbers 0 to 255 without loss of uniqueness, or for that matter one can rewrite that number using any other lossless encoding (e.g. lossless compressed data, Hex, Octal). The question itself, however, is a binary one. Each permutation is then equally probable because there is then only one way each unique encoding sequence can be created, and we have assumed that the appearance of a 1 or a 0 is equally likely anywhere within that string, such that each permutation is equally probable.

Ad 2) When the lossless encoding is abandoned by only considering combinations, we then have a lossy encoding in which outcomes are combined and information is lost. We are then viewing the number series, w.l.o.g. as the number of 1's; i=1820Xi, which in turn reduces to C(8,i=18Xi), the number of combinations of 8 objects taken i=18Xi at at time, and for that different problem, the probability of exactly 4 1's is 70 (C(8,4)) times greater than obtaining 8 1's, because there are 70, equally likely permutations that can produce 4 1's.

Note: At the current time, the above answer is the only one containing an explicit computational comparison of the two encodings, and the only answer that even mentions the concept of encoding. It took a while to get it right, which is why this answer has been downvoted, historically. If there are any outstanding complaints, leave a comment.

Update: Since the last update, I am gratified to see that the concept of encoding has begun to catch on in the other answers. To show this explicitly for the current problem I have attached the number of permutations that are lossy encoded in each combination.wprowadź opis zdjęcia tutaj

Note that the number of bytes of information lost during each combinatorial encoding is equivalent to the number of permutations for that combination minus one [C(8,n)1, where n is the number of 1's], i.e., for this problem, from 0 to 69 per combination, or 2569=247 overall.


2
Using the conventional way to name numbers--by omitting all reference to preceding zeros--potentially confuses this explanation. Don't you think the situation would become much clearer by writing 0 as 00000000, 1 (which you inadvertently omitted) as 00000001, and so on?
whuber

16
Szczerze mówiąc, to wszystko jest poprawne, ale nie dotyczy pytania . Wykonałeś świetną robotę, pokazując, jak osiem uporządkowanych bitów może reprezentować liczby w zakresie, ale nie wyjaśniłeś, dlaczego losowe wybranie tych bitów daje jednolity rozkład (co jest, co prawda, tak proste, że wyjaśnienie tego zajmuje trochę czasu subtelność).
dmckee,

9
Czy nie byłoby łatwiej powiedzieć, że 8 (niezależnie) losowych bitów jest równomiernie rozmieszczonych na [00000000, 11111111] z tego samego powodu, dla którego 3 losowe bity są równomiernie rozmieszczone na [000, 999]? Strona o tym, jak / dlaczego komputery używają binarnych i ułamkowych podstaw, jest całkowicie niepotrzebna i niezwiązana. Chodzi mi o to, że binarny używa tylko symboli 0 i 1, jest tylko nieodłączną właściwością podstawy 2 ... nie trzeba tego wyjaśniać. Jeśli chcesz zachować tego rodzaju wyjaśnienie, prawdopodobnie bardziej przydatne byłoby wyjaśnienie, w jaki sposób zasady działają w ogóle, ale nadal byłoby to nie na miejscu.
Blackhawk

3
I am glad to see how much this answer has improved. However, I have difficulty seeing what base-10 representations have to do with this question (wouldn't base-3 or base-17 work just as well?) and I cannot see what might be special about 8 bits that doesn't also generalize to any finite number of bits. That suggests that most of the considerations in this answer are tangential or irrelevant.
whuber

3
And I wish to thank you for that felicitous characterization of the confusion expressed in the question: "lossy" and "lossless" encoding. It's memorable, slightly different than other perspectives, insightful, and potentially could clear up that confusion quickly.
whuber

1

Chciałbym trochę rozwinąć ideę zależności porządku od niezależności.

W problemie obliczania oczekiwanej liczby głów po przerzuceniu 8 monet sumujemy wartości z 8 identycznych rozkładów, z których każdy jest rozkładem Bernoulliego [; B(1, 0.5) ;](innymi słowy, 50% szansy na 0, 50% szansy na 1). Rozkład sumy jest rozkładem dwumianowym [; B(8, 0.5) ;], który ma znajomy kształt garbu z większością prawdopodobieństwa wyśrodkowaną wokół 4.

W problemie obliczania oczekiwanej wartości bajtu złożonego z 8 losowych bitów, każdy bit ma inną wartość, niż przyczynia się do bajtu, więc sumujemy wartości z 8 różnych rozkładów. Pierwszym jest [; B(1, 0.5) ;], drugim jest [; 2 B(1, 0.5) ;], trzecim jest [; 4 B(1, 0.5) ;], więc aż do ósmego, co jest [; 128 B(1, 0.5) ;]. Rozkład tej sumy jest, co zrozumiałe, zupełnie inny niż pierwszy.

Jeśli chcesz udowodnić, że ten ostatni rozkład jest jednolity, myślę, że możesz to zrobić indukcyjnie - rozkład najniższego bitu jest jednolity z zakresem 1 z założenia, więc chciałbyś pokazać, że jeśli rozkład najniższych [; n ;]bitów jest jednorodny z zakresem, [; 2^n - 1} ;]a następnie dodanie [; n+1 ;]bitu st sprawia, że ​​rozkład najniższych [; n + 1 ;]bitów jest jednolity z zakresem [; 2^{n+1} - 1 ;], uzyskując dowód na wszystkie dodatnie[; n ;]. Ale intuicyjny sposób jest prawdopodobnie dokładnie odwrotny. Jeśli zaczniesz od wysokiego bitu i wybierzesz wartości pojedynczo w dół do małego bitu, każdy bit dzieli przestrzeń możliwych wyników dokładnie na pół, a każda połowa jest wybierana z jednakowym prawdopodobieństwem, więc do czasu, gdy dojdziesz do na dole, każda indywidualna wartość musiała mieć takie samo prawdopodobieństwo wyboru.


To nie jest jednolity jednolity. Bit ma wartość 0 lub 1 i nic pomiędzy.
Michael R. Chernick

@MichaelChernick oczywiście mamy tutaj do czynienia tylko z dyskretnymi dystrybucjami.
hobbs

OP powiedział, że bity mają tylko 1 lub 0 i nic pomiędzy.
Michael R. Chernick

1
@MichaelChernick poprawnie.
hobbs

1

Jeśli wykonujesz wyszukiwanie binarne, porównując każdy bit, potrzebujesz takiej samej liczby kroków dla każdej liczby 8-bitowej, od 0000 0000 do 1111 1111, obie mają długość 8 bitów. Na każdym etapie wyszukiwania binarnego obie strony mają szansę wystąpienia 50/50, więc w końcu, ponieważ każda liczba ma taką samą głębokość i takie same prawdopodobieństwa, bez żadnego rzeczywistego wyboru, każda liczba musi mieć taką samą wagę. Dlatego rozkład musi być jednolity, nawet jeśli każdy pojedynczy bit jest określony przez przerzucenie monety.

Jednak cyfra cyfr nie jest jednolita i będzie równa w rozkładzie do podrzucania 8 monet.


1

Jest tylko jedna sekwencja z ośmioma zerami. Istnieje siedemdziesiąt sekwencji z czterema zerami i czterema zerami.

Dlatego, podczas gdy 0 ma prawdopodobieństwo 0,39%, a 15 również ma prawdopodobieństwo 0,39%, a 23 [00010111] ma prawdopodobieństwo 0,39% itd., Jeśli zsumujesz wszystkie siedemdziesiąt z 0,39% prawdopodobieństwa dostajesz 27,3%, co jest prawdopodobieństwem posiadania czterech. Prawdopodobieństwo każdego pojedynczego wyniku czterech do czterech nie musi być większe niż 0,39%, aby to zadziałało.


Nie zmienia to faktu, że wszystkie 256 sekwencji są jednakowo prawdopodobne.
Michael R. Chernick

@MichaelChernick Nie powiedziałem, że tak, wyraźnie powiedziałem, że prawdopodobieństwo ich wszystkich wynosi 0,39%, odpowiadam na założenia OP.
Random832

Masz rację. Jest to inny sposób powiedzenia tego, co powiedziałem w mojej odpowiedzi. Niektóre inne odpowiedzi są błędne.
Michael R. Chernick

1

Rozważ kości

Pomyśl o rzuceniu kilkoma kośćmi, co jest częstym przykładem nierównomiernej dystrybucji. Ze względu na matematykę wyobraź sobie, że kości są ponumerowane od 0 do 5 zamiast tradycyjnych od 1 do 6. Powodem, dla którego rozkład nie jest jednolity, jest to, że patrzysz na sumę rzutów kostek, gdzie wiele kombinacji może dać taka sama suma jak {5, 0}, {0, 5}, {4, 1} itd., wszystkie generujące 5.

Jeśli jednak zinterpretujesz rzut kostką jako 2-cyfrową liczbę losową w bazie 6, każda możliwa kombinacja kości jest unikalna. {5, 0} byłoby 50 (podstawa 6), co byłoby 5 * (61) + 0 * (60) = 30 (podstawa 10). {0, 5} byłoby 5 (podstawa 6), co byłoby 5 * (60) = 5 (podstawa 10). Jak widać, istnieje mapowanie 1 do 1 możliwych rzutów kości interpretowane jako liczby w bazie 6 w porównaniu z mapowaniem wielu do 1 dla sumy dwóch kości każdego rzutu.

Jak wskazują zarówno @Sycorax, jak i @Blacksteel, różnica ta naprawdę sprowadza się do kwestii porządku.


0

Każdy wybrany bit jest od siebie niezależny. Jeśli weźmiesz pod uwagę pierwszy bit, istnieje

  • 50% prawdopodobieństwa będzie to 1

i

  • 50% prawdopodobieństwa będzie wynosić 0.

Odnosi się to również do drugiego bitu, trzeciego bitu i tak dalej, więc kończy się tak dla każdej możliwej kombinacji bitów, aby twój bajt miał (12))8 = 1256 prawdopodobieństwo wystąpienia tej unikalnej 8-bitowej liczby całkowitej.


Wszystkie te stwierdzenia są prawdziwe, ale to nie wyjaśnia, dlaczego rzuty monetami, które są również uczciwe i niezależne, dają tylko 9 różnych wyników, gdy wynik jest zdefiniowany jako liczba głów i resz.
Sycorax mówi Przywróć Monikę

Jest to tylko wynik umieszczenia wyników w uporządkowanym systemie po ich wybraniu. Ten sam rozkład zostałby osiągnięty, nawet gdyby losowe bity zostały umieszczone w losowych pozycjach w bajcie. Otrzymasz również taką samą dystrybucję rzutów monetami, dzięki temu, że ułożysz pytanie, aby znaleźć szansę na uzyskanie określonej kombinacji głów i ogonów, takich jak HHTHTTTH. Będziesz miał 1/256 szansy na uzyskanie dokładnej sekwencji rzutów monetą dla 8 rzutów monetą wykonywanych za każdym razem.
Ahemone

To wszystkie dobre informacje, które należy zawrzeć w samej odpowiedzi. Mój komentarz nie podważa tego, co powiedziałeś, a pominięcie bezpośredniego adresu źródła nieporozumień OP: relacji między bitami a rzutami monet.
Sycorax mówi Przywróć Monikę

Powinienem również powiedzieć, że aby uzyskać oczekiwaną wartość OP wynoszącą 4, próbują znaleźć prawdopodobieństwo n wielu 1 lub n wielu 0 w danym bajcie. Ta ramka pytania dałaby dwumianowy rozkład, którego oczekiwali w ich umyśle, a nie jednolity rozkład znalezienia prawdopodobieństwa uzyskania pewnej wartości z tych losowych bitów.
Ahemone
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.