BIG endian >< little endian

Ini nih yang biasanya bikin bingung para programmer ….. Gimana engga coba … Coding di OS (operating system) yang berbeda hasilnya kok bsa beda .. tentunya ada yg salah .. ho ho ho ….

yang membedakan little endian dengan big endian sebenernya adalah urutan byte nya. Untuk OS dengan processor yang berbeda biasanya memiliki endian yang berbeda (antara little & big). Misal:

big endian :

unsigned int a = 8;

printf(“a = 0x 8.8%x”, a);

maka akan mengeluarkan hasil 0x00000008

little endian :

unsigned int a = 8;

printf(“a = 0x 8.8%x”, a);

maka akan mengeluarkan hasil 0x08000000

perhatikan letak urutan per byte nya .. Klo kita meremehkannya bisa2 jadi kacau coding yang di buat karena salah encode/decoder per byte nya.

jadi, buat para coder yang mau porting code nya dari OS yang berbeda (misal, dari eCos:big endian ,  ke Linux:little endian) bisa menggunakan fungsi2 yang ada di byteswap.h

di dalam byteswap.h terdapat fungsi untuk swap tipe data dari big endian ke little endian dan sebaliknya. Contoh, kita akan men-swap 32 bit yang ada… berarti bisa menggunakan fungsi :

bswap_32(u32 data);

Hasil nya, jika little endian di swap,maka akan menjadi BIG endian …

he he he …. semoga bermanfaat …

.: ini sepertinya tulisannya tidak terstruktur dgn baik  -.-;   :.

3 responses to “BIG endian >< little endian

  1. wah mantap te…
    cem kuliah sistem komputer aja nih

  2. ooo.. gw baru tau klo endian ecos beda sama linux te..
    (kemana aje lu pen -.-)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s