Jakie są liczby losowe
Losowe liczby odgrywają główną rolę w bezpieczeństwie i szyfrowaniu. Być może użyłeś sugestii hasła Google. Działa na zasadzie, która jest w jakiś sposób podobna do generowania liczb losowych.
Liczby losowe są sekwencją liczb, których nie można przewidzieć, i jest to liczba wybrana z zestawu liczb.
Dlaczego potrzebujemy liczb losowych
Losowe liczby są ważne dla operacji kryptograficznych, współczesnych obliczeń i symulacji. Losowe liczby pomagają również zwiększyć bezpieczeństwo komputerowe. Oto kilka głównych zastosowań liczb losowych:
Jak teraz rozumiemy podstawowe zastosowania generatora liczb losowych ESP32.
Funkcja generowania liczby losowej w ESP32
Płyta ESP32 zawiera generator liczby losowych sprzętowych, który korzysta z funkcji esp_random ().
esp_random () Nie bierze żadnego argumentu i daje nam wartość losowo wygenerowaną od 0 do UINT32_MAX (jest to maksymalna wartość, którą bez znaku może przechowywać w nim).
Notatka: Jedną rzeczą do zapamiętania jest generator losowych numerów ESP32 za pomocą Wi -Fi i Bluetooth. Prawda Liczba losowa jest generowany tylko wtedy, gdy oba są włączone. Jeśli te dwa są wyłączone ESP32, mogą wygenerować tylko Pseudo numer. Aby uzyskać więcej informacji, sprawdź dokumentację losową espressif ESP32.
Interesująca informacja: Interesującą informacją o generatoru losowego liczb sprzętowych ESP32 jest to, że ESP32 przekazał TestSuite liczby losowej zaliczającej, gdy próbka danych 2 GB jest pobierana za pomocą ESP32, gdy włączono jego Wi -Fi. Die Harder to test generatora liczb losowych.
Składnia
Oto składnia funkcji ESP32 dla liczby losowej:
esp_random ()
Powrót
Ta funkcja zwraca wartość losową między 0 a uint32_max.
Kod do wygenerowania liczby losowej
Otwórz Arduino IDE i prześlij dany kod w ESP32, aby wygenerować liczbę losową między 0 a 4294967295 (maksymalna wartość INT niepodpisana).
void setup ()
Seryjny.rozpocząć (115200); /*Definiowana szybkość transmisji*/
void Loop ()
Seryjny.println („**********”);
Seryjny.print („losowy numer =”);
Seryjny.println (esp_random ()); /*Wydrukuj dowolną liczbę losową od 0 do największego niepodpisanego int*/
Opóźnienie (2000); /*Opóźnienie 2 sekund*/
Wyjście
Po przesłaniu kodu możemy zobaczyć dane wyjściowe w monitor szeregowych. Tutaj możemy zobaczyć ESP32 wygenerował dwie różne liczby losowe.
Kod do wygenerowania losowej liczby między określonym zakresem
Załóżmy, że jeśli WIFI ESP32 nie jest włączone, istnieje alternatywa dla funkcjonowania esp_random (). Możemy użyć funkcji generatora liczb losowych Arduino (losowy()).
Korzystając z tej funkcji, możemy wygenerować dowolną liczbę losową w określonym zakresie.
Otwórz Arduino IDE i prześlij dany kod, który da nam losową liczbę między 10-20.
void setup ()
Seryjny.rozpocząć (115200); /*Definiowana szybkość transmisji*/
void Loop ()
Seryjny.println („**********”);
Seryjny.wydrukuj („Losowa liczba między 10 a 20 =”);/*Wydrukuj dowolną liczbę losową między 10 a 20*/
Seryjny.println (losowe (10,20));
Opóźnienie (2000); /*Opóźnienie 2 sekund*/
Wyjście
Następujące wyjście można zobaczyć na monitor szeregowych: liczba losowa jest generowana co 2 sekundy.
Z powodzeniem omówiliśmy funkcje, których ESP32 użył do generowania liczb losowych.
Wniosek
Losowe liczby odgrywają główną rolę w prawdopodobieństwie i statystyce. Jest to również pomocne w szyfrowaniu bezpieczeństwa i operacjach kryptograficznych. Ta lekcja poprowadzi Cię w generowaniu różnych liczb losowych. Możemy również zdefiniować zakres, aby uzyskać liczbę losową.