Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά μεταξύ Float και Double

Το Float και το Double είναι και οι τύποι δεδομένων με τον τύπο Floating-point type. Οι αριθμοί κυμαινόμενης θέσης είναι οι πραγματικοί αριθμοί που έχουν ένα κλασματικό στοιχείο σε αυτό. Η κύρια διαφορά μεταξύ float και double είναι ότι ο τύπος float έχει αποθήκευση 32 bit. Από την άλλη πλευρά, ο διπλός τύπος έχει αποθήκευση 64 bit. Υπάρχουν κάποιες άλλες διαφορές μεταξύ του πλωτήρα και του διπλού που συζητούνται στο παρακάτω διάγραμμα σύγκρισης.

Συγκριτικό διάγραμμα:

Βάση σύγκρισηςΦλοτέρΔιπλό
ΑκρίβειαΕνιαία ακρίβεια.Διπλή ακρίβεια.
Μπιτς32 bit.64 bit.
Bytes4 byte.8 byte.
Κατά προσέγγιση εύρος1.4e-045 έως 3.4e + 0384.9e-324 έως 1.8e + 308
Αντιπροσώπευση δυαδικών ψηφίων1 bit αντιπροσωπεύουν bit σημάδι.
Το 8 bit αντιπροσωπεύει τον εκθέτη.
Τα 23 bits αντιπροσωπεύουν μαντιίσα.
1 bit αντιπροσωπεύουν bit σημάδι.
Το 11 bit αντιπροσωπεύει τον εκθέτη.
Τα 52 μπιτ αντιπροσωπεύουν μαντιζά.
ΑκρίβειαΛιγότερο ακριβής.Πιο ακριβής.

Ορισμός του Float

Ένας τύπος δεδομένων τύπου float είναι ένας από τους τύπους κυμαινόμενου σημείου. Το float τύπου datatype έχει αποθήκευση 32 bit (που ισούται με 4 bytes) για τη μεταβλητή τύπου float. Ο τύπος δεδομένων τύπου float προσδιορίζει μία απλή ακρίβεια. Η αναπαράσταση του 32 bit σε πλωτήρα μπορεί να εξηγηθεί επειδή το 1 bit αναπαρίσταται ως bit σημείου, 8 bits εκπροσωπούνται ως ένας εκθέτης και 23 bits αναπαρίστανται ως mantis. Η μέγιστη εμβέλεια ενός τύπου πλωτήρα είναι 1, 4e-045 έως 3, 4e + 038. Σε σύγκριση με τον τύπο του διπλού πλωτού τύπου τύπου πλωτήρα είναι λιγότερο ακριβής, ενώ ο μαθηματικός υπολογισμός. Ας καταλάβουμε το float χρησιμοποιώντας ένα παράδειγμα.

 #include #include int κύρια () {float num1 = sqrt (64.23) cout << num1; } // έξοδος 8.00060 

Όπως και στον παραπάνω κώδικα, μπορείτε να παρατηρήσετε ότι μια μεταβλητή float num1 έχει εκχωρηθεί μια τιμή που είναι η τιμή της συνάρτησης sqrt (), η οποία επιστρέφει την τετραγωνική ρίζα της τιμής που μεταβιβάζεται σε αυτή τη συνάρτηση. Μπορείτε να παρατηρήσετε ότι όταν εκτυπώνεται η τιμή στο num1, είναι κοντά στην ακριβή τιμή, αλλά δεν είναι ακριβής. Ας δούμε τώρα το παρακάτω παράδειγμα, όταν το ίδιο πρόγραμμα εκτελείται χρησιμοποιώντας το διπλό ως τύπος δεδομένων.

Ορισμός του διπλού

Το διπλό είναι το δεύτερο είδος τύπου δεδομένων κυμαινόμενου σημείου. Ένας διπλός τύπος δεδομένων έχει αποθήκευση 64 bit (που ισούται με 8 bytes) για μια μεταβλητή διπλού τύπου. Ορίζει τη διπλή ακρίβεια καθώς το μέγεθός του είναι διπλάσιο από το πλωτήρα. Η παράσταση 64 δυαδικών ψηφίων του διπλού τύπου μπορεί να εξηγηθεί ως 1 bit αντιπροσωπεύει bit σημάτων, 11 bits αντιπροσωπεύει έναν εκθέτη, και τα υπόλοιπα 52 bits αντιπροσωπεύουν μαντίσα. Μεταξύ των κυμαινόμενων και διπλών συνηθέστερα χρησιμοποιούμενων τύπων δεδομένων είναι διπλά. Ο τύπος διπλός χρησιμοποιείται κατά τη διάρκεια του μαθηματικού υπολογισμού, και όταν υπάρχει ανάγκη τέλειας ακρίβειας. Οι μαθηματικές συναρτήσεις sin (), cos () και sqrt () επιστρέφουν πάντοτε μια διπλή τιμή. Ας καταλάβουμε την ακρίβεια του datatype με ένα παράδειγμα.

 #include #include int κύρια () {double num1 = sqrt (64.23) cout << num1; } // έξοδο 8.0143621 

Μπορείτε να παρατηρήσετε ότι η έξοδος που λαμβάνεται στο παράδειγμα, εξηγώντας το float, είναι διαφορετική από την έξοδο που προκύπτει στο παράδειγμα, εξηγώντας το διπλό. Έτσι, από αυτό, μπορούμε να πούμε ότι τα αποτελέσματα που λαμβάνονται από το διπλό είναι πιο ακριβή σε σύγκριση με το πλωτήρα.

Βασικές διαφορές μεταξύ του Float και του Double

  1. Ο τύπος δεδομένων τύπου float προσδιορίζει μία ακρίβεια που σημαίνει ότι σε σύγκριση με το διπλό έχει μικρότερη ακρίβεια, ενώ ο διπλός προσδιορίζει τη διπλή ακρίβεια, καθώς είναι διπλάσιο του πλωτήρα, το σφάλμα του είναι αμελητέο σε σύγκριση με το πλωτήρα.
  2. Μια μεταβλητή τύπου float έχει αποθήκευση 32 bits, ενώ μια μεταβλητή διπλού τύπου έχει αποθήκευση 64 bits που καταρτίζει ότι ο διπλός είναι μεγαλύτερος στην αποθήκευση σε σύγκριση με το float.
  3. Η τιμή σε float μπορεί να κυμαίνεται από 1, 4e-045 έως 3, 4e + 038 ενώ η τιμή του διπλού τύπου μπορεί να κυμαίνεται από 4, 9e-324 έως 1, 8e + 308.
  4. Η αναπαράσταση δυαδικών ψηφίων μιας τιμής float μοιάζει με το γεγονός ότι χρησιμοποιείται 1 bit float για τραγούδι, τα 8 bits για exponent και 23 bits για την αποθήκευση του mantis. Από την άλλη πλευρά, μια διπλή τιμή μοιάζει με το 1 bit που χρησιμοποιείται για τραγούδι, τα 11 bits για exponent και 52 bits για την αποθήκευση του mantis.
  5. Σε σύγκριση με το διπλό πλωτήρα είναι λιγότερο ακριβής ως εκ τούτου, ενώ μαθηματικός υπολογισμός διπλός χρησιμοποιείται.

Συμπέρασμα:

Λοιπόν, πρέπει γενικά να χρησιμοποιήσετε διπλάσιο δεδομένου ότι παρέχει την ακρίβεια που είναι το κύριο motto μας τις περισσότερες φορές.

Top