Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 11 sty 2025, o 00:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 8 lut 2016, o 18:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 paź 2013
Posty: 62
Pomógł: 2

Ostatnio natknąłem się na taki oto kod do ustalania seed`a:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jakby ktoś nie wiedział, to seed jest takim zarodkiem, który ustala "miejsce" z którego kiełkuje algorytm dla funkcji rand. Odpowiada za to funkcja srand. Ot chodzi o to, żeby po każdym uruchomieniu danego ustrojstwa funkcja rand nie losowała zawsze tych samych wartości.

No ale do rzeczy. Jakoś tam raczkuję sobie w C. Ale jakoś nigdy nie spotkałem zmiennych z gwiazdką w nazwie a co więcej tu chyba jakiś assembler się wkradł (RAMEND).

Może mi ktoś wytłumaczyć jak działa ten kod? A działa bo sprawdziłem ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lut 2016, o 19:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Masz pobierane wartości z kolejnych komórek RAMu i obliczany jest seed poprzez EXORowanie tej wartości z dotychczasową wartością seed.
Używane jest definicja RAMEND (to nie asembler ale wartość zdefiniowana #define dla twojego procesora), określająca ilość pamięci RAM. Brana jest do sprawdzenia połowa, bo twój wskaźnik operuje na uint16_t (czyli na dwubajtowej wartości).


--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 4 minutach ]

Cytuj:
Ale jakoś nigdy nie spotkałem zmiennych z gwiazdką w nazwie

To nie słyszałeś nigdy o wskaźnikach? Musisz szybko uzupełnić swoją wiedzę. Polecam z książki http://atnel.pl/mikrokontrolery-avr-jezyk-c.html.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2016, o 11:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 paź 2013
Posty: 62
Pomógł: 2

Heh, dzięki ;) Teraz wszystko jasne.

Obie książki mam, ale zielona to jeszcze dla mnie nie ten level a w niebieskiej chyba wskaźników jeszcze nie było albo przeoczyłem ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2016, o 11:38 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27343
Lokalizacja: Szczecin
Pomógł: 1041

rescue1 napisał(a):
a w niebieskiej chyba wskaźników jeszcze nie było albo przeoczyłem

O, żesz w mordkę jeża ;) .... nie ma wskaźników w BB ? ;) .... eeeeh panie kolego - panie kolego

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2016, o 12:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1165
Lokalizacja: Kraków
Pomógł: 93

mirekk36 napisał(a):
rescue1 napisał(a):
a w niebieskiej chyba wskaźników jeszcze nie było albo przeoczyłem

O, żesz w mordkę jeża ;) .... nie ma wskaźników w BB ? ;) .... eeeeh panie kolego - panie kolego
Panie Mirku, co Panu jeżyk zrobił, że chce go Pan bić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO