Endianness: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
εμπλουτισμός
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 10:
* Little-endian: Το λιγότερο σημαντικότερο byte αποθηκεύεται στην μικρότερη θέση μνήμης.
 
Ο προγραμματιστής κατά τον προγραμματισμό σε μια γλώσσα υψηλού επιπέδου δεν ασχολείται με τον τρόπο που αποθηκεύονται οι τιμές των μεταβλητών (είτε με την μορφή big-endian ή little-endian) μέσα στην μνήμη του υπολογιστή. Το λειτουργικό σύστημα και ο [[Μεταγλωττιστής|μεταγλωττιστής]] που θα μετατρέψει τον πηγαίο κώδικα γλώσσας υψηλού επιπέδου σε γλώσσα μηχανής θα αποφασίσει αν θα χρησιμοποιηθεί big-endian ή little-endian αναπαράσταση. Πρόβλημα με την αναπαράσταση big-endia ή little-endian δημιουργείται όταν ένας υπολογιστής επικοινωνεί με ένα άλλο υπολογιστή μέσω ενός [[Δίκτυο υπολογιστών|δικτύου]] και χρησιμοποιεί διαφορετικό ''endianness''. Για να αποφεύγονται τα προβλήματα αυτά στην επικοινωνίες μέσω δικτύου χρησιμοποιούνται τα πρωτόκολλα επικοινωνίας και γίνονται οι απαραίτητες μετατροπές στην κωδικοποίηση ώστε να επιτευχθεί η δικτυακή μεταφορά δεδομένων. <ref name="Computer_systems_book_Addressing_and_Byte_Ordering"/>
 
==Παράδειγμα==
Στο παρακάτω παράδειγμα φαίνονται οι δύο τρόποι αποθήκευσης στην μνήμη. Έστω ότι έχουμε τον δεκαδικό αριθμό 1394523 ο οποίος αναπαριστάται στο δυαδικό σύστημα ως 101010100011101011011 ή 15475B στο [[Δεκαεξαδικό σύστημα αρίθμησης|δεκαεξαδικό σύστημα αρίθμησης]] (κάθε ψηφίο στο δεκαεξαδικό αναπαριστά τέσσερα ψηφία της δυαδικής αναπαράστασης και 2 δεκαεξαδικά ψηφία δημιουργούν ένα byte):
 
Γραμμή 24 ⟶ 27 :
| '''little''' || ''λιγότερο σημαντικό'' || '''...''' ||''σημαντικότερο'' || 5B 47 15 ||style="text-align: left;"| Το λιγότερο σημαντικό byte, δηλαδή το 5Β μπαίνει στην "μικρότερη" θέση μνήμης.
|}
 
Ο προγραμματιστής κατά τον προγραμματισμό σε μια γλώσσα υψηλού επιπέδου δεν ασχολείται με τον τρόπο που αποθηκεύονται οι τιμές των μεταβλητών (είτε με την μορφή big-endian ή little-endian) μέσα στην μνήμη του υπολογιστή. Το λειτουργικό σύστημα και ο [[Μεταγλωττιστής|μεταγλωττιστής]] που θα μετατρέψει τον πηγαίο κώδικα γλώσσας υψηλού επιπέδου σε γλώσσα μηχανής θα αποφασίσει αν θα χρησιμοποιηθεί big-endian ή little-endian αναπαράσταση. Πρόβλημα με την αναπαράσταση big-endia ή little-endian δημιουργείται όταν ένας υπολογιστής επικοινωνεί με ένα άλλο υπολογιστή μέσω ενός [[Δίκτυο υπολογιστών|δικτύου]] και χρησιμοποιεί διαφορετικό ''endianness''. Για να αποφεύγονται τα προβλήματα αυτά στην επικοινωνίες μέσω δικτύου χρησιμοποιούνται τα πρωτόκολλα επικοινωνίας και γίνονται οι απαραίτητες μετατροπές στην κωδικοποίηση ώστε να επιτευχθεί η δικτυακή μεταφορά δεδομένων. <ref name="Computer_systems_book_Addressing_and_Byte_Ordering"/>
 
==Παραπομπές==
Ανακτήθηκε από "https://el.wikipedia.org/wiki/Endianness"