Εάν είστε μπερδεμένοι σχετικά με το μέγεθος του ' ενθ 'είτε είναι 2 byte ή 4 byte , ακολουθήστε τις οδηγίες αυτού του άρθρου.
Είναι το μέγεθος του C 'int' 2 Byte ή 4 Byte
Στις πρώτες μέρες, όταν εισήχθη η γλώσσα C, το μόνο πράγμα που ήρθε στο μυαλό των προγραμματιστών ήταν να κάνουν αυτή τη γλώσσα όσο το δυνατόν πιο απλή. Εκείνη την εποχή, ο υπολογιστής χρησιμοποιούσε έναν επεξεργαστή 16-bit, επομένως εκείνη την εποχή, το μέγεθος ' ενθ ” καθορίστηκε σε 2 byte. Καθώς ο χρόνος περνά, η υπολογιστική ισχύς του συστήματος αυξάνεται και ο προγραμματιστής αλλάζει στη συνέχεια το μέγεθος του ' ενθ ” σε C έως 4 byte. Ο λόγος για αυτό είναι να επιτρέπεται στους προγραμματιστές C να χρησιμοποιούν μεγάλες τιμές και να αναπτύσσουν περισσότερα προγράμματα ισχύος στο σύστημα.
Ποιοι Παράγοντες επηρεάζουν το μέγεθος «int» στο C
Υπάρχουν τρεις παράγοντες που επηρεάζουν την « ενθ μέγεθος σε C, τα οποία έχουν ως εξής:
1: ο επεξεργαστή ενός συστήματος επηρεάζει πολύ το « ενθ ' Μέγεθος. Για μια αρχιτεκτονική 32-bit, η τιμή του ' ενθ Το μέγεθος είναι 4 byte. Ο λόγος είναι ότι ένα byte αποτελείται από 8 bit, οπότε αν πολλαπλασιάσετε 8 bit/byte με 4 byte, το αποτέλεσμα θα είναι 32 bit.
2: ο λειτουργικό σύστημα η έκδοση έχει επίσης τεράστιο αντίκτυπο στο ' ενθ 'Το μέγεθος και το λειτουργικό σύστημα 64-bit θα χρησιμοποιούν 4 byte' ενθ ” τύπους. Ωστόσο, αυτό θα εξακολουθούσε να εξαρτάται από άλλους παράγοντες όπως ο μεταγλωττιστής ή η πλατφόρμα που χρησιμοποιείται.
3: ο μεταγλωττιστής επηρεάζει επίσης το « ενθ ' μέγεθος σε C και υπάρχουν μεταγλωττιστές που επιτρέπουν στους προγραμματιστές C να διαμορφώσουν το μέγεθος του 'int' σύμφωνα με την επιλογή τους.
Διαφορετικοί μεταγλωττιστές θα μπορούσαν να έχουν διαφορετικές υλοποιήσεις της γλώσσας C, που σημαίνει ότι μπορούν να δουν το C ' ενθ ” Τύπος δεδομένων με διαφορετικούς τρόπους. Συνηθέστερα, ένας μεταγλωττιστής θα μπορούσε να εξετάσει ένα ' ενθ ” στη γλώσσα C to be 2 byte ή 4 byte σε μέγεθος. ΕΝΑ 2 byte 'int' θα καταλάμβανε δύο byte μνήμης, με τις τιμές που θα μπορούσε να αποθηκεύσει να εμφανίζονται ως -32768 προς την 32767 . Αντίθετα, α 4 byte 'int' θα καταλάμβανε τέσσερις byte μνήμης, με τις τιμές να εμφανίζονται ως -2147483648 προς την 2147483647 .
Ωστόσο, αν ελέγξουμε το μέγεθος ενός ' ενθ Σε έναν σύγχρονο μεταγλωττιστή C++, μας δίνει την απάντηση:
#include#include
#include
int main ( int argc, char ** argv ) {
printf ( 'Int_MAX : %d \n ' , INT_MAX ) ;
printf ( 'int_MIN : %d \n ' , INT_MIN ) ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}
Στον παραπάνω κώδικα, προσδιορίζουμε το μέγεθος ενός ' ενθ ” χρησιμοποιώντας τις λειτουργίες int_MAX() και int_MIN() που μας δείχνει ότι το μέγεθος ενός ' ενθ ' είναι 4 byte .
Παραγωγή
Οι περισσότεροι σύγχρονοι μεταγλωττιστές υλοποιούν τη γλώσσα C με τέτοιο τρόπο ώστε το μέγεθος ενός C Το 'int' είναι 4 byte . Τούτου λεχθέντος, ορισμένοι μεταγλωττιστές εξακολουθούν να χρησιμοποιούν το 2 byte 'int' μέγεθος, που σημαίνει ότι οι προγραμματιστές πρέπει να ελέγχουν τον μεταγλωττιστή που χρησιμοποιούν για να βεβαιωθούν ότι το πρόγραμμά τους λειτουργεί σωστά.
συμπέρασμα
Το ακριβές μέγεθος C 'int' Ο τύπος δεδομένων μπορεί να ποικίλλει ανάλογα με τον μεταγλωττιστή που χρησιμοποιείται. Συνηθέστερα, είναι 4 byte , επιτρέποντας την αποθήκευση μεγαλύτερου εύρους τιμών. Τούτου λεχθέντος, ορισμένοι μεταγλωττιστές μπορούν ακόμα να υλοποιήσουν τη γλώσσα C με τέτοιο τρόπο ώστε το μέγεθος C 'int' είναι 2 byte. Τελικά, ο προγραμματιστής πρέπει να γνωρίζει τον μεταγλωττιστή που χρησιμοποιείται για να προσδιορίσει την ακριβή ακρίβεια μέγεθος C 'int' .