Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2023 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

Kolejność Bajtów i ich Wzajemna Zamiana

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

Kolejność Bajtów i ich Wzajemna Zamiana

Wprowadzenie

Ta kategoria zawiera funkcję obsługi wartości z określoną kolejnością bajtów.

Proste typy danych, takie jak liczby całkowite i zmiennoprzecinkowe, składają się z kilku bajtów. Na przykład 32 bitowa liczba całkowita (Sint32) używa czterech bajtów (każdy ma 8 bitów). Kolejność bajtów opisuje sposób uporządkowania ich dla tej wartości w pamięci.

Istnieją dwie podstawowe postacie kolejności bajtów – duża i mała.

  • SDL_LIL_ENDIAN oznacza kolejność 1234, gdzie najmniej znaczący bajt jest przechowywany jako pierwszy,
  • SDL_BIG_ENDIAN oznacza kolejność 4321, gdzie pierwszym bajtem jest najbardziej znaczący.
Przykład: wyobraź sobie 32-bitową liczbę całkowitą o wartości dziesiętnej 16.909.060.

W postaci szesnastkowej wygląda ona tak: 0x01020304.
0x01 jest najbardziej znaczącym bajtem (tym, który najwięcej zwiększa tę wartość). 0x04 jest najmniej znaczącym bajtem (ponieważ zwiększa on najmniej tę wartość).
Gdy to zostanie umieszczone w pamięci w systemie stosującym małą kolejność bajtów (ang. little-endian system), to bajty znajdą się w kolejności od najmniej znaczącego najpierw, co utworzy strumień bajtów:

0x04 0x03 0x02 0x01

Gdy to zostanie umieszczone w pamięci w systemie stosującym dużą kolejność bajtów (ang. big-endian system), to znajdą się one w kolejności z najbardziej znaczącym bajtem najpierw, tworząc strumień bajtów:

0x01 0x02 0x03 0x04

Więcej informacji na ten temat znajdziesz w Wikipedii.

SDL_BYTEORDER jest makrem, które odpowiada kolejności bajtów używanych przez procesor, dla którego zostało skompilowane.

  • SDL_BYTEORDER jest równoważne SDL_LIL_ENDIAN dla x86, x64 i podobnych systemów używających małej kolejności bajtów.
  • SDL_BYTEORDER jest równoważne SDL_BIG_ENDIAN dla PowerPC i podobnych systemów używających dużej kolejności bajtów.

Funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2023 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.