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



Teraz jest 23 lut 2025, o 14:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 27 paź 2013, o 23:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 paź 2011
Posty: 780
Pomógł: 20

Witam szukam dla potrzeb swoich i nie tylko jakiegoś fajnego rysunku z bicikami w postaci okręgów karatów lub podobnych gdzie pokazane było by rzutowanie typów awans jak i w dół :)

Może ktoś coś takiego gdzieś widział :)

Pozdrawiam

_________________
sig off ;(



Ostatnio edytowano 28 paź 2013, o 23:56 przez stachu, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2013, o 12:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sty 2013
Posty: 272
Pomógł: 3

Nie rozumiem, może przez moją niewiedzę ale zawsze wydawało mi się, że rzutujemy z jakiegoś typu na jakiś inny.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2013, o 14:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 cze 2012
Posty: 414
Lokalizacja: Oborniki
Pomógł: 5

Koledze chyba chodzi raczej o rzuty techniczne - rysunki xD

Wysłane z mojego GT-I9500 przy użyciu Tapatalk 4

_________________
Pozdrawiam:
Mikołaj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2013, o 14:28 
Offline
Moderator
Avatar użytkownika

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

Ja np kompletnie nie wiem co to są biciaki ;) a na dodatek w postaci okręgów lub kwadratów - a do tego jeszcze jakiś awans i rzutowanie ? ;) .... ło matko - o co tu chodzi ?

_________________
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: 29 paź 2013, o 00:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 paź 2011
Posty: 780
Pomógł: 20

Tak chodzi mi o rzutowanie ale przedstawione za pomocą bitów, graficznie.

Np mamy typ który ma 4 bajty i rzutujemy do typu 1 bajtowego :)

biciki - małe bajty :P

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2013, o 07:48 
Offline
Moderator
Avatar użytkownika

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

stachu napisał(a):
Np mamy typ który ma 4 bajty i rzutujemy do typu 1 bajtowego


Ale w takim przypadku same bity wewnątrz bajtów to już nie mają takiego znaczenia. Rzutowanie powoduje hmmm ograniczenie albo poszerzenie możliwych wartości rzutowanego obiektu

jeśli masz np zmienną 4 bajtową (uint32_t) gdzie mamy bajty:

D C B A

i rzutujesz ją do typu np uint8_t to oznacza tylko jedno - pod uwagę weźmiesz jedynie najmłodszy bajt A

hmmm no niech będzie nasza zmienna 32 bitowa ma np wartość: 0xFF55AA33

Cytuj:
D C B A ----> rzutowanie do uint8_t ----> A (0x33) ------> po rzutowaniu zostanie nam tylko to co na czerwono 0xFF55AA33
D C B A ----> rzutowanie do uint16_t ----> B A (0xAA33) ------> po rzutowaniu zostanie nam tylko to co na czerwono 0xFF55AA33


a teraz rzutowanie w drugą stronę np typu uint8_t na uint32_t. Załóżmy że nasza zmienna 8 bitowa ma wartość 0xAF

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


i zrobimy rzutowanie

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


to wynikiem tego będzie wartość 32 bitowa o taka:

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


czyli podobnie jak wyżej. Tyle że w drugą stronę.

Cytuj:
A ------> rzutowanie do uint32_t -----> D C B A -----> tyle że starsze dodane bajty D C B będą miały wartość = 0


nie wiem czy o to chodziło ?


Autor postu otrzymał pochwałę

_________________
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: 29 paź 2013, o 09:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 paź 2011
Posty: 780
Pomógł: 20

Dzięki za rozwianie wątpliwości już sobie narysuje :)

Pozdrawiam

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 21:56 
Offline
Nowy

Dołączył(a): 30 mar 2013
Posty: 19
Lokalizacja: Częstochowa
Pomógł: 0

Trochę inny wątek, ale nie potrafię sobie wytłumaczyć dlaczego to działa. Sorry, że w C, ale właśnie tak chciałem dojść dlaczego jest tak a nie inaczej.

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


Dlaczego to działa?
Zmienna_1 równa jest -21,
Zmienna_2 równa jest Zmiennej_1 po rzutowaniu czyli według mnie, jakieś 4294967275.

Skoro tak? Dlaczego warunek się spełnia?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 22:27 
Offline
Nowy

Dołączył(a): 30 mar 2013
Posty: 19
Lokalizacja: Częstochowa
Pomógł: 0

Faktycznie masz rację. Myślałem, że jest to porównywane liczbowo. Jednak trzeba cały czas patrzeć na bity:)



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: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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