Endianness adalah istilah ilmu komputer yang menjelaskan bagaimana data disimpan. Secara khusus, ini menentukan ujung tipe data multi-byte mana yang berisi nilai paling signifikan. Dua jenis endianness adalah big-endian dan little-endian.
Big-Endian
Big-endian adalah cara paling umum untuk menyimpan data biner. Ini menempatkan nilai paling signifikan (atau terbesar) terlebih dahulu, diikuti oleh nilai yang kurang signifikan. Misalnya, representasi big-endian dari bilangan bulat 123 menempatkan nilai ratusan (1) terlebih dahulu, diikuti oleh nilai puluhan (2), kemudian nilai satuan (3), atau [123].
Little-Endian
Little-endian menyimpan nilai yang paling tidak signifikan terlebih dahulu, diikuti oleh nilai yang semakin signifikan. Misalnya, angka 123 dalam notasi little-endian adalah [321]. String teks "ABC" direpresentasikan sebagai [CBA].
Konversi Endian
Dalam kebanyakan kasus, pengembang tidak perlu menentukan endianness karena kompiler menghasilkan jenis data yang benar untuk platform tertentu. Namun, sebuah program mungkin perlu memproses input eksternal , seperti format file yang menyimpan data dengan endianness yang berbeda. Dalam hal ini, data harus dikonversi dari little-endian ke big-endian atau sebaliknya.
Mengubah endianness tidak sesederhana membalikkan data. Bytes , bukan bit , harus dibalik. Dengan kata lain, setiap byte (atau blok delapan bit) harus tetap sama, tetapi urutan byte diubah. Ini dapat dijelaskan dengan menggunakan representasi data heksadesimal atau biner.
Misalnya, bilangan bulat 41.394 direpresentasikan dalam notasi big-endian sebagai:
heksadesimal: A1B2
biner: 1010000110110010
Mengonversi data ini ke little-endian tidak membalikkan data, melainkan byte individual di dalam data. Heksadesimal menggunakan dua digit untuk mewakili setiap byte – [A1][B2], sedangkan biner menggunakan delapan digit – [10100001][10110010].
Oleh karena itu, representasi little-endian dari 41.394 adalah:
heksadesimal: B2A1
biner: 1011001010100001
CATATAN: Beberapa prosesor dapat mengambil data sebagai big-endian atau little-endian tanpa memerlukan konversi. Ini disebut akses data bi-endian.