Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να ελέγξει Ακέραιος Υπερχείλιση

αριθμοί Υπολογιστές κατάστημα σε δυαδική μορφή , δηλαδή , ως μια ακολουθία από 1 και 0 . Το εύρος των αριθμών που μπορεί να εκφράζεται από ένα δυαδικό αριθμό είναι 2 στη δύναμη της ποσότητας των δυαδικών αριθμών που συνθέτουν την ακολουθία . Για παράδειγμα , ένας ακέραιος 32 - bit μπορεί να χωρέσει 2 στη δύναμη του 32 ( 4294967296 ) μοναδικούς αριθμούς . Εάν μια τέτοια ακέραιος που πραγματοποιήθηκε το μεγαλύτερο αριθμό ήταν ικανά να εκφράζουν και τον αριθμό 1 προστέθηκε σε αυτό , θα υπερχειλίσει . Αυτό σημαίνει ότι οι αριθμοί θα ξεκινήσει σε πάνω από το 0 . Έλεγχος για υπερχείλιση ακεραίου είναι ζωτικής σημασίας για να πιάσει τα λάθη του προγράμματος -συντριβή σε C ή C + + . Τα πράγματα που θα χρειαστείτε
C + + ολοκληρωμένο περιβάλλον ανάπτυξης ( IDE ) , όπως Eclipse CDT
C + + Compiler , όπως G+ +
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Ξεκινήστε τη C + + IDE κάνοντας κλικ στο εικονίδιό του και να περιμένει για να φορτώσει . 2

Δημιουργήστε ένα νέο έργο κάνοντας κλικ στο " File /New project. " Ένα κενό αρχείο πηγαίου κώδικα εμφανίζεται στο χώρο εργασίας
εικόνων 3

Δημιουργήστε μια κύρια λειτουργία γράφοντας τις παρακάτω γραμμές κώδικα : .

Int main ( )

{

}
Η 4

αναγνωρίσει τρεις μεταβλητές : δύο ευρείες ακεραίων 16 - bit και 32 -bit ακέραιος ευρεία γράφοντας τις ακόλουθες δύο γραμμές μέσα στις αγκύλες της κύριας λειτουργίας :

uint16_t α, β ?

uint32_t c ?
5

Προσθέστε τα δύο ευρείας ακεραίων 16 - bit μαζί χρησιμοποιώντας την ακόλουθη λειτουργία :

c = a + b ?
Η 6

δοκιμής για υπερχείλιση συγκρίνοντας τη μεταβλητή c στη μέγιστη τιμή μία μεταβλητή uint16_t μπορεί να κρατήσει ( 2 στη δύναμη του 16 -1 , ή 65535 ) . Εάν αυτό τα αποτελέσματα των δοκιμών στην πραγματικότητα, μια υπερχείλιση θα συμβεί αν προσπαθήσετε την προσθήκη αυτών των δύο αριθμών και αποθήκευση τους σε μια μεταβλητή uint16_t .

Εάν ( γ > = 65535)

{

}
Η

7 Τοποθετήστε ένα μήνυμα σφάλματος μέσα στις αγκύλες του if παραπάνω για να αφήσει ο προγραμματιστής ξέρει υπερχείλιση έχει εντοπιστεί . Θα μπορούσατε να γράψετε αυτό :

cerr <<" Υπερχείλιση ανιχνευθεί κατά την προσθήκη + b" < Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα