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

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Χωρίς σύνοψη επεξεργασίας
εμπλουτισμός
Γραμμή 1:
Ο όρος '''endianness''' χρησιμοποιείται στην [[Πληροφορική|επιστήμη των υπολογιστών]] για τον τρόπο αποθήκευσης των σειρών [[Byte|bytes]] μέσα στην μνήμη του [[Ηλεκτρονικός υπολογιστής|ηλεκτρονικού υπολογιστή]]. Υπάρχουν δύο τρόποι αναπαράστασης των bytes που αναπαριστάται ένας αριθμός μέσα στην εσωτερική μνήμη του υπολογιστή: η αναπαράσταση ''big-endian'' και η αναπαράσταση ''little-endian''.
 
==Ορολογία==
Η ορολογία ''Endianness'', ''bin-endian'' ή ''little-endian'' προέρχεται από το λογοτεχνικό βιβλίο [[Τα ταξίδια του Γκιούλιβερ]]. Μέσα στο βιβλίο περιγράφεται η διαμάχη δύο μυθικών λαών για το πως μπορεί κάποιος να σπάσει ένα βρασμένο αυγό, είτε κτυπώντας το στην μυτερή άκρη είτε στην μέση. Στην διαμάχη αυτή όσοι υποστήριζαν την μία ή την άλλη τεχνική χαρακτηρίστηκαν ως "big-endians" ή "little-endians" και από από εκεί η ορολογία υιοθετήθηκε στην πληροφορική. <ref name="Computer_systems_book_Addressing_and_Byte_Ordering"/>
 
==Περιγραφή==
Οι άνθρωποι αναπαριστάν του ακέραιους αριθμούς στο [[Δεκαδικό σύστημα|δεκαδικό σύστημα αρίθμησης]] με τιμές 0-9 και τοποθετούν το πιο σημαντικό ψηφία στην αρχή αριστερά (στον αριθμό 2356 το σημαντικότερο ψηφίο είναι το 2 που αναπαριστά τις χιλιάδες, ενώ το λιγότερο σημαντικό ψηφίο είναι το 6). Οι ηλεκτρονικοί υπολογιστές αναπαριστούν τους αριθμούς στο [[Δυαδικό σύστημα|δυαδικό σύστημα αρίθμησης]] όπου υπάρχου δύο μόνο ψηφία, το 0 και το 1. Η [[Μνήμη υπολογιστή|μνήμη του υπολογιστή]] είναι σχεδιασμένη ώστε να αποθηκεύει ομάδες 8 δυαδικών ψηφίων γνωστά ως [[Byte|bytes]]. Ένα byte μπορεί να αποθηκεύσει 0-255 διαφορετικές τιμές (από 0000 0000 έως 1111 1111 τιμές). Ένας [[Ακέραιος αριθμός|ακέραιος αριθμός]] μεγαλύτερος από 255 θα χρειαστεί περισσότερα από ένα bytes για να αποθηκευτεί στην μνήμη του υπολογιστή. Υπάρχουν δύο τρόποι / '''endianess''' με τους οποίους μια σειρά bytes μπορεί να αποθηκευτεί στην μνήμη <ref name="Computer_systems_book_Addressing_and_Byte_Ordering">{{cite book | title=Computer Systems - A Programmer's Perspective | author=Randal E. Bryant, David R. O’Hallaron | year=2011 | publisher=Prentice Hall | pages=39-46 | isbn=978-0-13-610804-7}}</ref>:
 
Γραμμή 21 ⟶ 25 :
|}
 
Ο προγραμματιστής κατά τον προγραμματισμό σε μια γλώσσα υψηλού επιπέδου δεν ασχολείται με τον τρόπο που αποθηκεύονται οι τιμές των μεταβλητών (είτε με την μορφή big-endian ή little-endian) μέσα στην μνήμη του υπολογιστή. Το λειτουργικό σύστημα και ο [[Μεταγλωττιστής|μεταγλωττιστής]] που θα μετατρέψει τον πηγαίο κώδικα γλώσσας υψηλού επιπέδου σε γλώσσα μηχανής θα αποφασίσει αν θα χρησιμοποιηθεί big-endian ή little-endian αναπαράσταση. Πρόβλημα με την αναπαράσταση big-endia ή little-endian δημιουργείται όταν ένας υπολογιστής επικοινωνεί με ένα άλλο υπολογιστή μέσω ενός [[Δίκτυο υπολογιστών|δικτύου]] και χρησιμοποιεί διαφορετικό ''endianness''. Για να αποφεύγονται τα προβλήματα αυτά στην επικοινωνίες μέσω δικτύου χρησιμοποιούνται τα πρωτόκολλα επικοινωνίας και γίνονται οι απαραίτητες μετατροπές στην κωδικοποίηση ώστε να επιτευχθεί η δικτυακή μεταφορά δεδομένων. <ref name="Computer_systems_book_Addressing_and_Byte_Ordering"/>
Η ορολογία ''Endianness'', ''bin-endian'' ή ''little-endian'' προέρχεται από το λογοτεχνικό βιβλίο [[Τα ταξίδια του Γκιούλιβερ]]. Μέσα στο βιβλίο περιγράφεται η διαμάχη δύο μυθικών λαών για το πως μπορεί κάποιος να σπάσει ένα βρασμένο αυγό, είτε κτυπώντας το στην μυτερή άκρη είτε στην μέση. Στην διαμάχη αυτή όσοι υποστήριζαν την μία ή την άλλη τεχνική χαρακτηρίστηκαν ως "big-endians" ή "little-endians" και από από εκεί η ορολογία υιοθετήθηκε στην πληροφορική. <ref name="Computer_systems_book_Addressing_and_Byte_Ordering"/>
 
==Παραπομπές==
Ανακτήθηκε από "https://el.wikipedia.org/wiki/Endianness"