Junior — Middle
Εξηγήστε την αρχή εμφάνισης των bytes με σειρά little-endian στη μνήμη του υπολογιστή.
sobes.tech AI
Απάντηση από AI
Σε μικρότερη-endian σειρά, το λιγότερο σημαντικό byte ενός αριθμού αποθηκεύεται στη χαμηλότερη διεύθυνση μνήμης, και το πιο σημαντικό — στη μεγαλύτερη. Για παράδειγμα, ο 32-bit αριθμός 0x12345678 στη μνήμη θα τοποθετηθεί ως ακολουθία bytes: 0x78, 0x56, 0x34, 0x12.
Αυτό σημαίνει ότι διαβάζοντας bytes από τη χαμηλότερη διεύθυνση, λαμβάνουμε πρώτα το λιγότερο σημαντικό byte του αριθμού. Αυτή η σειρά είναι βολική για ορισμένες λειτουργίες και χρησιμοποιείται σε αρχιτεκτονικές x86.
Παράδειγμα σε Go για να δείξουμε πώς γράφουμε έναν αριθμό σε little-endian:
package main
import (
"encoding/binary"
"fmt"
)
func main() {
var num uint32 = 0x12345678
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, num)
fmt.Printf("% x\n", buf) // Εμφανίζει: 78 56 34 12
}