Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Σχετικά έγγραφα
Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

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

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

1.4 Αριθμητική υπολογιστών και σφάλματα

Σφάλματα (errors) Σε κάθε υπολογισμό μιας πραγματικής ποσότητας υπάρχει σφάλμα

Αριθμητική Κινητής Υποδιαστολής Πρόσθεση Αριθμών Κινητής Υποδιαστολής

Αρχιτεκτονικές Υπολογιστών

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης ΤΕΙ ΧΑΛΚΙΔΑΣ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ

Σύστημα Πλεονάσματος και Αναπαράσταση Αριθμών Κινητής Υποδιαστολής

Chapter 3. Αριθμητική Υπολογιστών. Όγδοη (8 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Εισαγωγή στην επιστήμη των υπολογιστών

ΣΦΑΛΜΑΤΑ ΑΡΙΘΜΗΤΙΚΩΝ ΥΠΟΛΟΓΙΣΜΩΝ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Πράξεις με δυαδικούς αριθμούς

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Εισαγωγή στην Επιστήμη των Υπολογιστών

Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1

3.1 εκαδικό και υαδικό

Επιστημονικός Υπολογισμός (set3) Δρ. Γιώργος Τσιρογιάννης

Εισαγωγή στον Προγραμματισμό

0.1 Εκχειλίσεις κατά την Επίλυση Τετραγωνικής Εξίσωσης

1.1. Με τι ασχολείται η Αριθμητική Ανάλυση

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Αναπαράσταση εδοµένων σε Επεξεργαστές Ψ.Ε.Σ

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

Αριθμητική Ανάλυση & Εφαρμογές

Ψηφιακά Κυκλώματα Ι. Μάθημα 1: Δυαδικά συστήματα - Κώδικες. Λευτέρης Καπετανάκης

Οργάνωση Υπολογιστών

Αριθµητική υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων

γρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα bit μπορούμε να χρησιμοποιήσουμε την εντολή:

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

ΠΛΗ111. Ανοιξη Μάθηµα 2 ο. Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Εισαγωγή στους Υπολογιστές

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΠΛΗ-21

ΚΑΝΕΝΑ ΑΡΙΘΜΗΤΙΚΟ ΣΥΣΤΗΜΑ ΕΝ ΜΠΟΡΕΙ ΝΑ ΑΠΕΙΚΟΝΙΣΕΙ ΟΛΟΥΣ ΤΟΥΣ ΠΡΑΓΜΑΤΙΚΟΥΣ ΑΡΙΘΜΟΥΣ, ΙΟΤΙ ΕΧΟΥΜΕ ΠΕΡΙΟΡΙΣΜΕΝΟ ΕΥΡΟΣ ΑΚΡΙΒΕΙΑΣ.

Αρχιτεκτονική υπολογιστών

Εισαγωγή στην πληροφορική

Αριθμητικά Συστήματα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 3 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Αριθµητικές Μέθοδοι και Προγραµµατισµός Αριθµητική Ανάλυση (ή Επιστηµονικοί Υπολογισµοί)

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ)

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΛΗΡΟΦΟΡΙΚΉ. Μάθημα 7

Κεφάλαιο 2 Κωδικοποίηση & Αποκωδικοποίηση

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Τμήμα Μαθηματικών, ΕΚΠΑ. Ακαδ. έτος

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Πληροφορική. Ενότητα 2: Α. Μεταβλητές. Όλα είναι πίνακες. Β. Δεδομένα. Σφάλματα. Δομές. Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 2 Δυαδική Κωδικοποίηση

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 9ο Aντώνης Σπυρόπουλος

Σφάλματα στρογγυλοποίησης (Round off errors) Numerical errors Rounding errors Floating point errors Some disasters caused by numerical errors http://ta.twi.tudelft.nl/nw/users/vuik/wi211/disasters.html Floating-Point Questions Are Endless on stackoverflow.com http://www.exploringbinary.com/floating-point-questions-are-endless-on-stackoverflow-com

Ορολογία bit (binary digit): δυαδικό ψηφίο. Τα δυαδικά ψηφία είναι το 0 και το 1 1byte= 8bits word: η θεμελιώδης μονάδα σύμφωνα με την οποία εκπροσωπούνται οι πληροφορίες στον υπολογιστή. Αποτελείται από μια σειρά δυαδικών ψηφίων. Οι πληροφορίες, αποθηκεύονται σε ένα ή περισσότερα words. Το μέγεθος ενός word στους σημερινούς υπολογιστές είναι 32 bit ή 64 bit. my_variable = 0.1 0.1 8 bytes = 64 bits 0 0 1 1 1 1 0 1 1 1 0 0... 0 0 1 1 0 0 1 1 0 0 1 1 0 1

Αναπαράσταση αριθμών στο δεκαδικό (decimal) σύστημα Δεκαδικό ή βάση-10 (base-10) Η βάση είναι ο αριθμός που χρησιμοποιείται ως αναφορά για την κατασκευή του συστήματος. Το σύστημα βάσης-10 χρησιμοποιεί τα 10 ψηφία 0, 1, 2, 3, 4, 5, 6, 7, 8, και 9 για να αναπαραστήσει τους αριθμούς. Παράδειγμα 8642.91 (8 10 3 ) + (6 10 2 ) + (4 10 1 ) + (2 10 0 ) + (9 10-1 )+(1 10-2 )= 8642.91 Συμβολισμός θέσης

Αναπαράσταση αριθμών στο δυαδικό (binary) σύστημα Δυαδικό ή βάση-2 (base-2) Στους υπολογιστές η αναπαράσταση των αριθμών γίνεται με τη χρήση του δυαδικούδ συστήματος αρίθμησης. Σύμφωνα με το σύστημα αυτό οι αριθμοί αναπαρίστανται με τα δυαδικά ψηφία (bits) 0 και 1. Για παράδειγμα, ο δυαδικός αριθμός 101.1 ή (101.1) 2 ισοδυναμεί με: (1 2 2 ) + (0 2 1 ) + (1 2 0 ) + (1 2-1 ) = 4 + 0 + 1 + 0.5 = 5.55 στο δεκαδικό σύστημα ή (5.5) 10

Αναπαράσταση ακέραιων στους υπολογιστές (1) Έστω ο ακέραιος αριθμός 173 που αντιπροσωπεύεται στο δυαδικό ως 10101101 (10101101) 2 = 2 7 + 2 5 + 2 3 + 2 2 + 2 0 = 128+32+8+4+1 = (173) 10 Σε ένα word με μήκος 16 bits θα αποθηκευτεί ως: 16 bits 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 Sign Magnitude Ο ακέραιος αριθμός -173 θα αποθηκευτεί ως: 16 bits 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 Sign Magnitude

Αναπαράσταση ακέραιων στους υπολογιστές (2) O μεγαλύτερος ακέραιος που μπορεί να απεικονιστεί με 16 bits είναι ο (111111111111111) 2 =(1 2 14 )+(1 2 13 )+...+(1 2 1 )+(1 2 0 ) = 32 767 2 15-1 = 32 767 Συνεπώς, ένα word με μήκος 16 bits, μπορεί να αναπαραστήσει τους ακέραιους που κυμαίνονται από -32 767 έως 32 767. Επιπλέον, επειδή το 0 έχει ήδη οριστεί ως 0000000000000000, είναι περιττό να χρησιμοποιήσουμε τον αριθμό 1000000000000000 για το -0. Έτσι συμβατικά χρησιμοποιείται για να αναπαραστήσει τον αρνητικό αριθμό: -32 768, επεκτείνοντας την περιοχή από -32 768 έως 32 767.

Αναπαράσταση ακέραιων στους υπολογιστές (3) Ένα word με μήκος n-bit, μπορεί να αναπαραστήσει τους ακέραιους από -2 n-1 έως 2 n-1-1 Αν n=32 bit μπορούν να αναπαρασταθούν οι ακέραιοι από -2 147 483 648 έως 2 147 483 647 Αν n=64 bit μπορούν να αναπαρασταθούν οι ακέραιοι από -2 63 έως 2 63-1. Αριθμοί πέρα από αυτά τα όρια δεν μπορούν αναπαρασταθούν. Οι υπολογιστές έχουν περιορισμένη ικανότητα στην αναπαράσταση ακέραιων αριθμών. Μεγαλύτεροι είναι οι περιορισμοί στην αποθήκευση και το χειρισμό των πραγματικών αριθμών.

Το σύστημα κινητής υποδιαστολής (floating point) Αναπαράσταση ενός πραγματικού αριθμού (x) µε βάση το 10 στο σύστημα κινητής υποδιαστολής (floating point): x = ± f 10 e το f ονομάζεται κλασματικό μέρος (fraction / mantissa) και το e είναι ένας θετικός ή αρνητικός ακέραιος που ονομάζεται εκθέτης (exponent). Στην αναπαράσταση χρησιμοποιείται μόνο ένα ψηφίο για το ακέραιο μέρος. Παράδειγμα: 3.14 = 3.14 10 0 = 0.314 10 1 κανονικοποιημένη μορφή με βάση το 10 0.000001 = 1.0 10 6 = 0.1 10 5 1941 = 1.941 10 3 = 0.1941 10 4 Ο επιστημονικός συμβολισμός δεν δίνει μια μοναδική αναπαράσταση. Η αναπαράσταση γίνεται μοναδική αν δεχθούμε: α) το ακέραιο μέρος να είναι μηδέν και β) το πιο σημαντικό ψηφίο του κλασματικού μέρους να μην είναι μηδέν Η αναπαράσταση αυτή ονομάζεται κανονικοποιημένη (normalized) μορφή.

Πρότυπο IEEE 754 κινητής υποδιαστολής (1) x (1 f) 2 e κανονικοποιημένη μορφή με βάση το 2 i f t 2 i όλοι οι ακέραιοι για τους οποίους ισχύει 0 f 1 t το πλήθος των bits που δεσμεύονται για την αποθήκευση του f e όλοι οι ακέραιοι στο διάστημα [ e e ] min max To e ονομάζεται exponent και το 1+f mantissa.

Πρότυπο IEEE 754 κινητής υποδιαστολής (2) Έστω ένας υπολογιστής στον οποίο για την αναπαράσταση των πραγματικών αριθμών χρησιμοποιούνται: t= 2, e min = - 1, e max = 2 Σύνολο διακριτών τιμών 0.5000 0.6250 0.7500 0.8750 1.0000 1.2500 1.5000 1.7500 2.0000 2.5000 3.0000 3.5000 4.0000 5.0000 Θετικοί πραγματικοί αριθμοί μεγαλύτεροι του 7 και μικρότεροι το 0.5 δεν μπορούν να αναπαρασταθούν. Συγκεκριμένα αριθμοί μεγαλύτεροι το 7 προκαλούν overflow ενώ μικρότεροι του 0.5 underflow. Αριθμοί που είναι μεταξύ 2 διακριτών τιμών του παραπάνω συνόλου δεν μπορούν να αναπαρασταθούν ακριβώς και συνεπώς στρογγυλοποιούνται στην πλησιέστερη διακριτή τιμή. Για παράδειγμα ο αριθμός 3.1 θα αποθηκευτεί ως 3. Η διαφορά 3.1-3 = 0.1 ονομάζεται σφάλμα στρογγυλοποίησης (round-off error) 6.0000 7.0000 H απόσταση μεταξύ του αριθμού 1 και του αμέσως μεγαλύτερου αριθμού (στο παράδειγμα μας είναι ο 1.25) ονομάζεται ακρίβεια του υπολογιστή (machine epsilon - συμβολίζεται με τη μεταβλητή eps)

Πρότυπο IEEE 754 κινητής υποδιαστολής (3) IEEE Standard 754 word (bits) t (bits) e min e max single precision 32 23 126 127 double precision 64 52 1022 1023 32 bits 1 bit 8 bits 23 bits Sign Exponent Mantissa 64 bits 1 bit 11 bits 52 bits Sign Exponent Mantissa

Πρότυπο IEEE 754 κινητής υποδιαστολής (4) Single precision emin realmin 2 t realmax (2 2 ) 2 eps 23 2 1.1921e-07 Double precision 126 2 1.1755e-38 emax e realmin 2 realmax (2 2 ) 2 e 52 eps 2 2.2204e 16 min 1022 2 2.2251e 2251e 308 IEEE Standard 754 23 127 (2 2 ) 2 3.4028e+38 t max 52 1023 (2 2 ) 2 1.7977e 308 Οι αριθμοί που εμφανίζονται στους υπολογισμούς και κατ απόλυτη τιμή είναι μεγαλύτεροι από την τιμή realmax δημιουργούν overflow. Οι αριθμοί αυτοί τίθενται ίσοι με Infinity ή -Infinity ανάλογα με το αν είναι θετικοί οι αρνητικοί αντίστοιχα. Οι αριθμοί που εμφανίζονται στους υπολογισμούς και κατ απόλυτη τιμή είναι μικρότεροι από την τιμή realmin δημιουργούν underflow. Οι αριθμοί αυτοί τίθενται ίσοι με το μηδέν. Ποσότητες που δεν μπορούν να αναπαρασταθούν (π.χ. σε ορισμένα αποτελέσματα μαθηματικών συναρτήσεων) τίθενται ίσοι με NaN (Not-a-Number).

Απαίτηση σε υπολογιστική μνήμη >> my_variable = zeros(10000); >> whos Name Size Bytes Class Attributes my_variable 10000x10000 800000000 double Γιατί η my_variable έχει απαίτηση σε μνήμη 800 ΜΒ;

Αναπαράσταση του 0.1 στο δυαδικό (binary) σύστημα Για να απεικονιστεί ο πραγματικός αριθμός 0.1 στο δυαδικό σύστημα απαιτείται μια άπειρη σειρά: 1 1 1 0 0 1 1 0 0 1 4 5 6 7 8 9 10 11 12 10 2 2 2 2 2 2 2 2 2 μετά τον πρώτο όρο η ακολουθία 1,0,0,1 0 1 επαναλαμβάνεται συνεχώς. Συνεπώς η δυαδική αναπαράσταση του πραγματικού αριθμού 0.1 είναι: (0.1) 10 = (0.00011001100110011001...) 00011001100110011001 2

Machine epsilon Τρέξτε το παρακάτω script: clear; e=1; while (true) a=1+e; if (a==1.); break; end e=e/2; end myeps = 2*e Τί αντιπροσωπεύει η τιμή που αποθηκεύεται στη μεταβλητή myeps;

Ισότητα αριθμών κινητής υποδιαστολής ή how close is close a == b match bit to bit H ερώτηση της ισότητας γεννάει μια άλλη ερώτηση : Τι εννοούμε με τον όρο ισότητα ; Στον προγραμματισμό η ισότητα σημαίνει αρκετά κοντά. O έλεγχος της ισότητας γίνεται ορίζοντας κάποια μικρή απόσταση e ως αρκετά κοντά Όμως: e = 0.00001 είναι κατάλληλο για αριθμούς γύρω από το 1 πολύ μεγάλο για αριθμούς γύρω από το 0.00001 και πολύ μικρό για αριθμούς γύρω από το 10000 Equality test Όχι: if (a==b) Ναι: if (abs(a-b)< e)

Πράξεις μεταξύ αριθμών κινητής υποδιαστολής ΠΡΟΣΟΧΗ Αφαιρέσεις κοντινών αριθμών Προσθέσεις/Αφαιρέσεις αριθμών με μεγάλη διαφορά 1 1 1 1 14.392726722864989 14.392726722865813 2 3 1000000 1 1 1 1 14.39272672286 5772 14.392726722865739 1000000 3 2 χρήση της for χρήση της sum (MATLAB R2009)