Βασική διαφορά – int vs long
Στον προγραμματισμό, απαιτείται η αποθήκευση δεδομένων. Τα δεδομένα αποθηκεύονται στη μνήμη. Οι θέσεις μνήμης που μπορούν να αποθηκεύσουν δεδομένα ονομάζονται μεταβλητές. Κάθε θέση μνήμης μπορεί να αποθηκεύσει έναν συγκεκριμένο τύπο δεδομένων. Το μέγεθος της μνήμης για κάθε τύπο δεδομένων είναι διαφορετικό. Ο τύπος δεδομένων int χρησιμοποιείται για την αποθήκευση αριθμητικών τιμών χωρίς δεκαδικά ψηφία. Οι τύποι δεδομένων float και double χρησιμοποιούνται για την αποθήκευση αριθμητικών τιμών με δεκαδικά ψηφία. Ο τύπος δεδομένων char χρησιμοποιείται για την αποθήκευση μιας τιμής μεμονωμένου χαρακτήρα. Ομοίως, κάθε τύπος δεδομένων μπορεί να αποθηκεύσει μια συγκεκριμένη τιμή ανάλογα με τον τύπο. Σε γλώσσες προγραμματισμού όπως η python, δεν είναι απαραίτητο να δηλωθεί ο τύπος της μεταβλητής. Εάν ο προγραμματιστής είναι γραμμένος ως a=3, η Python προσδιορίζει αυτόματα ότι είναι μια ακέραια μεταβλητή. Σε γλώσσες προγραμματισμού όπως η Java, ο προγραμματιστής πρέπει να καθορίσει τον τύπο δεδομένων. Εάν η μεταβλητή δηλωθεί ως int, τότε δεν μπορεί να της εκχωρήσει μια τιμή χαρακτήρα. Το int και το long είναι δύο τύποι δεδομένων. Αυτό το άρθρο εξετάζει τη διαφορά μεταξύ int και long. Η βασική διαφορά μεταξύ int και long είναι ότι το int έχει πλάτος 32 bit ενώ το πλάτος του long είναι 64 bit.
Τι είναι το int;
Ένας τύπος δεδομένων int είναι ο πιο συχνά χρησιμοποιούμενος τύπος δεδομένων που περιέχει μια ακέραια τιμή σε αυτόν. Είναι προκαθορισμένος τύπος δεδομένων που υποστηρίζεται από πολλές γλώσσες προγραμματισμού όπως η Java. Για να δηλώσετε μια ακέραια μεταβλητή, χρησιμοποιείται η λέξη-κλειδί «int». Επομένως, δεν μπορεί να χρησιμοποιηθεί ως αναγνωριστικό, όπως όνομα μεταβλητής ή όνομα μεθόδου. Ανατρέξτε στο παρακάτω παράδειγμα προγράμματος.
Εικόνα 01: Πρόγραμμα Java με τιμές int
Σύμφωνα με το παραπάνω πρόγραμμα, η μεταβλητή a είναι int και έχει την τιμή 10. Η μεταβλητή b είναι int και έχει την τιμή 20. Το άθροισμα των a και b υπολογίζονται και αποδίδονται στη μεταβλητή άθροισμα. Είναι επίσης ακέραιος. Στον βρόχο for, το «i» είναι η μεταβλητή μετρητή. Είναι ακέραιος αριθμός. Θα επαναληφθεί 5 φορές. Όταν η τιμή «i» γίνει 6, η συνθήκη γίνεται ψευδής και βγαίνει από τον βρόχο.
Η πληκτρολόγηση μπορεί να πραγματοποιηθεί σε τύπους δεδομένων. Είναι η διαδικασία μετατροπής ενός τύπου δεδομένων σε έναν άλλο τύπο δεδομένων. Όταν εκχωρείτε έναν μικρότερο τύπο δεδομένων σε έναν μεγαλύτερο τύπο δεδομένων, δεν απαιτείται μετάδοση. Η διεύρυνση γίνεται σε byte, short, int, long, float, double. Όταν αντιστοιχίζετε έναν μεγαλύτερο τύπο δεδομένων σε έναν μικρό τύπο δεδομένων, είναι απαραίτητο να κάνετε τη μετάδοση.
Εικόνα 02: Casting
Στο παραπάνω πρόγραμμα, η μεταβλητή num1 έχει τιμή 10. Η μεταβλητή num2 έχει τιμή 20. Το σύνολο είναι int. Καθώς το int είναι μεγαλύτερος τύπος δεδομένων από ένα byte, είναι απαραίτητο να γίνει typecast σε byte για να αποθηκευτεί σε μια μεταβλητή byte. Εάν δεν υπάρχει εκπομπή τύπων, σημαίνει ότι η ακέραια τιμή εκχωρείται στη μεταβλητή byte, επομένως θα υπάρχει σφάλμα χρόνου μεταγλώττισης.
Τι είναι μακρύ;
Το long είναι ένας προκαθορισμένος τύπος δεδομένων που παρέχεται από γλώσσες όπως η Java. Στην Java, το εύρος δεδομένων είναι από -9, 223, 372, 036, 854, 775, 808(-2^63) έως 9, 223, 372, 036, 854, 775, 807 (συμπεριλαμβανομένων) (2^63- 1). Έχει πλάτος 64 bit. Ο αριθμός των byte για μεγάλο χρονικό διάστημα είναι 8 byte. Ένα byte ισοδυναμεί με 8 bit. Ανατρέξτε στο παρακάτω πρόγραμμα.
Εικόνα 03: Πρόγραμμα Java με μεγάλες τιμές
Σύμφωνα με το παραπάνω πρόγραμμα, το πλάτος και το μήκος είναι μεγάλες μεταβλητές. Η τιμή που προκύπτει εκχωρείται σε μια μεγάλη μεταβλητή. Το long είναι ο μεγαλύτερος τύπος δεδομένων. Οι άλλοι τύποι δεδομένων είναι μικρότεροι από μεγάλοι. Έτσι, άλλοι τύποι δεδομένων μπορούν να αντιστοιχιστούν σε long χωρίς μετάδοση τύπων. Όταν εκχωρείτε μια μεγάλη τιμή στο int, απαιτείται να πληκτρολογήσετε.
Ποια είναι η ομοιότητα μεταξύ int και long;
Τόσο το int όσο και το long είναι προκαθορισμένοι τύποι δεδομένων που υποστηρίζονται από γλώσσες προγραμματισμού όπως η Java
Ποια είναι η διαφορά μεταξύ int και long;
int vs long |
|
Ο τύπος δεδομένων int είναι ένας ακέραιος συμπληρωματικός αριθμός δύο υπογεγραμμένων 32 bit. | Ο τύπος δεδομένων μεγάλου μήκους είναι ένας ακέραιος συμπληρωματικός αριθμός δύο υπογεγραμμένων 64 bit. |
Αριθμός byte | |
Το int έχει μήκος 4 byte. | Το μήκος είναι 8 byte. |
Ελάχιστη τιμή | |
Η ελάχιστη τιμή του int είναι – 2, 147, 483, 648 (-2^31) στην Java | Η ελάχιστη τιμή του long είναι -9, 223, 372, 036, 854, 775, 808(-2^63) στην Java |
Μέγιστη τιμή | |
Η μέγιστη τιμή του int είναι 2, 147, 483, 647 (συμπεριλαμβανομένων) (2^31-1) στην Java | Η μέγιστη τιμή του long είναι 9, 223, 372, 036, 854, 775, 807 (συμπεριλαμβανομένων) (2^63-1) στην Java |
Προεπιλεγμένη τιμή | |
Η προεπιλεγμένη τιμή του int είναι 0. | Η προεπιλεγμένη τιμή του long είναι 0L. |
Λέξη-κλειδί | |
Η λέξη-κλειδί "int" χρησιμοποιείται για να δηλώσει έναν ακέραιο αριθμό. | Η λέξη-κλειδί "long" χρησιμοποιείται για να δηλώσει ένα long. |
Απαιτούμενη μνήμη | |
Η int απαιτεί λιγότερη μνήμη από τη μεγάλη. | Το long απαιτεί περισσότερη μνήμη από το int. |
Σύνοψη – int vs long
Στον προγραμματισμό, είναι απαραίτητη η αποθήκευση δεδομένων. Αυτά τα δεδομένα αποθηκεύονται σε θέσεις μνήμης. Αυτές οι θέσεις μνήμης ονομάζονται μεταβλητές. Κάθε μεταβλητή έχει έναν συγκεκριμένο τύπο δεδομένων προς αποθήκευση. Υπάρχουν τύποι δεδομένων όπως int, char, double και float κ.λπ. Αυτό το άρθρο εξέτασε τη διαφορά μεταξύ δύο τύπων δεδομένων που είναι int και long. Ο τύπος δεδομένων int είναι ένας ακέραιος συμπληρωματικός αριθμός δύο υπογεγραμμένων 32 bit. Ο τύπος δεδομένων μεγάλου μήκους είναι ένας ακέραιος συμπληρωματικός αριθμός δύο 64-bit. Το long είναι μεγαλύτερος τύπος δεδομένων από το int. Η διαφορά μεταξύ int και long είναι ότι το int έχει πλάτος 32 bit ενώ το πλάτος του long είναι 64 bit.