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



Teraz jest 26 mar 2026, o 02:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 3 sie 2015, o 21:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

Witam
Mam pewien problem, gdyż nie jestem pewny w jaki sposób uC liczy :-)
Mam dwie zmienne typu uint16_t (obrot oraz czas).

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


Chciałbym się dowiedzieć, czy uC liczy to tak jak myślę.. (czyli najpierw wyrażenie w nawiasie, tak aby nie przekroczyć zakresu 16bit)
Czyli jeśli załóżmy, że zmienna
czas wynosi 60000, a
obrot 62000

W tym wypadku uC najpierw podzieli 62000/14 = 4428, a następnie pomnoży tę wartość razy 13, czyli 4428*13=57564, i warunek zostanie spełniony.

Bo gdybym nie zastosował nawiasów i dał coś takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

To wtedy uC mnoży 13*62000 i wylatuje poza zakres.. I warunek nie będzie spełniony..

Rozumiem, że jeśli zastosuje nawiasy, to nie muszę nic kombinować? (jakiejś promocji do typu u16, czy innych bajerów).

Podaj jeszcze jedną informację. zmienne czas i obrot nie sa zdefiniowane w kodzie programu (zależą od prędkości obrotowej silnika).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sie 2015, o 21:10 
Offline
Moderator
Avatar użytkownika

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

Promocja do int nie ma nic wspólnego z nawiasami. Działania są wykonywane zgodnie z matematycznymi regułami działań ;) ... Nawiasy warto dawać - żeby samemu się ew nie walnąć w takich przypadkach.

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 7 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO