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



Teraz jest 26 kwi 2026, o 05:51


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 10 kwi 2016, o 00:01 
Offline
Użytkownik

Dołączył(a): 08 lut 2015
Posty: 132
Pomógł: 4

Witam. Spotkałem się z dziwnym problemem. Otóż zdefiniowałem sobie zmienną o typie uint16_t, czyli ma to być zmienna bez znaku, dwubajtowa. Potem przykładowo w pętli zmniejszam jej wartość od np 5 w dół i po osiągnięciu wartości 0 powinna się "przekręcić" i zacząć zliczać od swojej maksymalnej wartości, którą może pomieścić. Jednak tak nie jest i wartość schodzi w dół, ale ze znakiem ujemnym pomimo typu unsigned. Dodam, że jeżeli zamienie typ na jednobajtowy uint8_t to wszystko jest ok i po przejściu przez 0 liczy od 255 w dół. Czy ktoś może mi wyjaśnić dlaczego w przypadku typu uint16_t liczba przyjmuje wartości ujemne ?

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2016, o 00:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Jeśli widzisz to na wyświetlaczu, to przyjrzyj się jego obsłudze.

Pozdr.



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 6 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