Endianness nedir? Little-endian ile big-endian farkı nedir?
Cevap
Çok baytlı bir verinin bellekte hangi bayt sırasıyla saklandığıdır. 0x12345678 değeri için:
- Little-endian: en düşük anlamlı bayt en düşük adreste →
78 56 34 12(x86, ARM Cortex-M çoğunlukla) - Big-endian: en yüksek anlamlı bayt en düşük adreste →
12 34 56 78(ağ bayt sırası)
Farklı sistemler arasında veri gönderirken (ağ protokolleri, dosya formatları) dönüşüm gerekir: htonl, ntohl gibi fonksiyonlar bu işi yapar.
uint32_t x = 1;
int little = *(uint8_t *)&x == 1; // 1 ise little-endianİlgili C Programlama soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.