ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr
3. ΑΡΙΘΜΗΤΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΜΕΡΟΣ Β
Παράσταση Προσημασμένων Αριθμών
Παράσταση προσημασμένων αριθμών Όπως είδαμε, με n δυαδικά ψηφία μπορούμε να παραστήσουμε 2 n διαφορετικούς αριθμούς Στην περίπτωση που θέλουμε να παραστήσουμε προσημασμένους αριθμούς, τότε εκμεταλλευόμαστε το MSB του αριθμού για να κωδικοποιήσουμε το πρόσημο Αν MSB = 0, τότε ο αριθμός είναι θετικός Αν MSB = 1, τότε ο αριθμός είναι αρνητικός Με τα υπόλοιπα n-1 δυαδικά ψηφία κωδικοποιούμε την απόλυτη τιμή του αριθμού ή αλλιώς το μέτρο του Πρόσημο 1bit Αριθμός n-1 bits 4
Κωδικοποίηση αρνητικών προσημασμένων αριθμών Υπάρχουν 3 τρόποι για την παράσταση των προσημασμένων αριθμών Η παράσταση μέτρου Η παράσταση συμπληρώματος ως προς 1 Η παράσταση συμπληρώματος ως προς 2 5
Παράσταση μέτρου Στην παράσταση αυτή το MSB παίρνει την τιμή 0 εάν πρόκειται για θετικό αριθμό και την τιμή 1 αν αντίστοιχα πρόκειται για αρνητικό αριθμό Τα υπόλοιπα n-1 bits χρησιμοποιούνται για την τιμή του αριθμού Μέγιστος αριθμός * : 2 n-1-1 0111.11 Ελάχιστος αριθμός: -(2 n-1-1) 1111 11 Μηδέν: 2 τρόποι: 0000...00 ή 1000...00 Παράδειγμα 28 (10) = 011100 (2) -28 (10) = 111100 (2) * που μπορεί να παρασταθεί με n bits 6
Παράσταση συμπληρώματος ως προς 1 Στην παράσταση συμπληρώματος ως προς 1 Αν MSB = 0, ο αριθμός είναι θετικός και το μέτρο του δίνεται από τα υπόλοιπα n-1 ψηφία Αν MSB = 1, ο αριθμός είναι αρνητικός και το μέτρο δίνεται από το συμπλήρωμα ως προς 1 των υπολοίπων n-1 ψηφίων του Το συμπλήρωμα ως προς 1 ενός δυαδικού αριθμού βρίσκεται αν αντικαταστήσουμε όλα τα 1 του αριθμού με 0, και όλα τα 0 με 1 1 0 1 1 0 0 0 1 0 0 1 1 7
Παράσταση συμπληρώματος ως προς 1 Μέγιστος αριθμός : 2 n-1-1 0111.11 Ελάχιστος αριθμός: -(2 n-1-1) 1000.00 Μηδέν: 2 τρόποι: 0000...00 ή 1111.11 Όλοι οι μη αρνητικοί (θετικοί και μηδέν) έως 2 n-1-1 παριστάνονται όπως ακριβώς στο σύστημα παράστασης μέτρου Οι αριθμοί από -(2 n-1-1) έως 0 παριστάνονται με το συμπλήρωμα ως προς 1 της απόλυτης τιμής τους Προσοχή: Οι έννοιες «συμπλήρωμα ως προς 1» και «παράσταση συμπληρώματος ως προς 1» είναι διαφορετικές. Το συμπλήρωμα ως προς 1 ενός αριθμού είναι το αποτέλεσμα της αντιστροφής των ψηφίων του. Η παράσταση συμπληρώματος ως προς 1 χρησιμοποιεί το συμπλήρωμα ως προς 1 για να παραστήσει τους αρνητικούς αριθμούς 8
Παράσταση συμπληρώματος ως προς 1 - Παράδειγμα 12 (10) 001100 Παράσταση συμπληρώματος ως προς 1 του -12 (10) 110011 9
Παράσταση συμπληρώματος ως προς 2 Στην παράσταση συμπληρώματος ως προς 2 Αν MSB = 0, ο αριθμός είναι θετικός και το μέτρο του δίνεται από τα υπόλοιπα n-1 ψηφία Αν MSB = 1, ο αριθμός είναι αρνητικός και το μέτρο δίνεται από το συμπλήρωμα ως προς 2 του συνόλου των ψηφίων του Το συμπλήρωμα ως προς 2 ενός δυαδικού αριθμού βρίσκεται αν αντικαταστήσουμε όλα τα 1 του αριθμού με 0, και όλα τα 0 με 1 (συμπλήρωμα ως προς 1) και προσθέσουμε 1 10
Παράσταση συμπληρώματος ως προς 2 1 0 1 1 0 0 0 1 0 0 1 1 1 Μέτρο: 0 1 0 1 0 0 Άρα ο 101100 σε παράσταση συμπληρώματος ως προς 2 παριστάνει τον αριθμό -20 11
Παράσταση συμπληρώματος ως προς 2 Μέγιστος αριθμός : 2 n-1-1 0111.11 Ελάχιστος αριθμός: -2 n-1 1000.00 Μηδέν: 1 τρόπος: 0000...00 Όλοι οι μη αρνητικοί (θετικοί και μηδέν) έως 2 n-1-1 παριστάνονται όπως ακριβώς στο σύστημα παράστασης μέτρου Οι αρνητικοί αριθμοί παριστάνονται με το συμπλήρωμα ως προς 2 και των n ψηφίων Με την παράσταση συμπληρώματος ως προς 2 ο ελάχιστος αριθμός που μπορούμε να παραστήσουμε έχει μεγαλύτερη απόλυτη τιμή από τον μέγιστο αριθμό. 12
Πράξεις προσημασμένων αριθμών Το αλγεβρικό άθροισμα δυο προσημασμένων ακεραίων στη μορφή παραστάσεως συμπληρώματος ως προς 1 ή στη μορφή παραστάσεως συμπληρώματος ως προς 2 βρίσκεται εάν προστεθούν οι παραστάσεις των αριθμών συμπεριλαμβανομένου και του ψηφίου προσήμου. Εάν υπάρξει κρατούμενο από την πρόσθεση των MSB τότε αυτό αγνοείται στην περίπτωση παράστασης συμπληρώματος ως προς 2 προστίθεται στο αποτέλεσμα στην περίπτωση παραστάσεως συμπληρώματος ως προς 1 Το αποτέλεσμα που προκύπτει είναι εκφρασμένο αμέσως στην αντίστοιχη μορφή παραστάσεως συμπληρώματος 13
Παραδείγματα 14-2 -5-7 Παράσταση συμπληρώματος ως προς 1 1101 + 1010 0111 + 1 1000 Αγνοείται Παράσταση συμπληρώματος ως προς 2 1110 + 1011 1 1001 1001-4 -4-8 1011 + 1011 0110 + 1 0111 Αγνοείται Overflow 1100 + 1100 1 1000 1000 14
Περίπτωση υπερχείλισης Προσοχή πρέπει να δίνεται πάντα για το αν το αποτέλεσμα που προκύπτει βρίσκεται εντός της περιοχής των αριθμών που μπορούν να παρασταθούν με δεδομένο μήκος λέξης n και για συγκεκριμένη παράσταση Στην περίπτωση που το πλήθος των bits δεν επαρκεί για την παράσταση του αποτελέσματος μιας πράξης λέμε ότι έχουμε υπερχείλιση (overflow) Οι υπολογιστές διαθέτουν εσωτερικούς μηχανισμούς ώστε να εντοπίζουν τις περιπτώσεις υπερχείλισης 15
Σύγκριση παραστάσεων Παράσταση μέτρου Πλεονέκτημα: Προκύπτει εύκολα Μειονέκτημα: Δύσκολη εκτέλεση πράξεων Παράσταση συμπληρώματος ως προς 1 Πλεονεκτήματα: Προκύπτει εύκολα - Οι πράξεις μεταξύ των αριθμών γίνονται απευθείας, χωρίς μετατροπή, ανεξάρτητα με το πρόσημο Μειονεκτήματα: Απαιτείται πρόσθεση του κρατούμενου που τυχόν προκύπτει - Δύο παραστάσεις για το 0 Παράσταση συμπληρώματος ως προς 2 Πλεονεκτήματα: Αγνοείται το κρατούμενο που τυχόν προκύπτει - Οι πράξεις μεταξύ των αριθμών γίνονται απευθείας, χωρίς μετατροπή, ανεξάρτητα με το πρόσημο - Μία παράσταση για το 0 Μειονεκτήματα: Προκύπτει πιο δύσκολα από το συμπλήρωμα ως προς 1 16
Παράσταση Πραγματικών Αριθμών
Παράσταση πραγματικών αριθμών Παράσταση σταθερής υποδιαστολής (fixed point) Παράσταση κινητής υποδιαστολής (floating point) 18
Παράσταση πραγματικών αριθμών - Παράσταση σταθερής υποδιαστολής Παράσταση σταθερής υποδιαστολής (fixed point) Στην παράσταση σταθερής υποδιαστολής θεωρούμε ότι από τα n bits μιας λέξης τα n 1 bits χρησιμοποιούνται για το ακέραιο μέρος του αριθμού και τα υπόλοιπα n 2 bits για το κλασματικό μέρος (n=n 1 +n 2 ) Το πρόσημο του αριθμού θα κωδικοποιείται σαν και τα n ψηφία του αριθμού να παρίσταναν έναν ακέραιο 19
Παράσταση σταθερής υποδιαστολής Π.χ.: Έστω ότι έχουμε μήκος λέξης 8 bits από τα οποία 6 bits χρησιμοποιούνται για το ακέραιο και 2 bits για το κλασματικό μέρος, ενώ χρησιμοποιούμε παράσταση συμπληρώματος ως προς 2 για την παράσταση προσημασμένων αριθμών Ο μέγιστος αριθμός που μπορούμε να παραστήσουμε σε αυτήν την περίπτωση είναι ο 011111,11 και είναι ο 31,75 (10) Ο ελάχιστος αριθμός που μπορούμε να παραστήσουμε είναι ο 100000,00 και είναι ο -32 (10) Οι πλησιέστεροι αριθμοί στο 0 που μπορούμε να παραστήσουμε είναι ο 000000,01 = 0,25 (10) για τους θετικούς ο 111111,11 = -0,25 (10) για τους αρνητικούς Σημαντικό μειονέκτημα της παράστασης σταθερής υποδιαστολής είναι ότι το διάστημα των αριθμών που μπορούν να παρασταθούν είναι σχετικά μικρό 20
Παράσταση πραγματικών αριθμών - Παράσταση κινητής υποδιαστολής Παράσταση κινητής υποδιαστολής (floating point) Στην παράσταση αυτή ο δυαδικός αριθμός Ν εκφράζεται αρχικά σε εκθετική μορφή ως εξής: Ν = ±σ. 2 ε Ο αριθμός σ καλείται συντελεστής (mantissa) Ο αριθμός ε καλείται εκθέτης (exponent) Για την παράσταση των αριθμών αφιερώνονται n 1 ψηφία στον εκθέτη, n 2 ψηφία στο συντελεστή και ένα ψηφίο για το πρόσημο (n = n 1 + n 2 +1) πρόσημο n 1 ψηφία εκθέτη n 2 ψηφία συντελεστή 21
Παράσταση κινητής υποδιαστολής πρόσημο n 1 ψηφία εκθέτη n 2 ψηφία συντελεστή Παράδειγμα: Ο αριθμός 0101,1101 μπορεί να γραφεί ως 0,01011101. 2 0100 1,011101. 2 0010 0,1011101. 2 0011 με τους συντελεστές και τους εκθέτες να είναι εκφρασμένοι στο δυαδικό σύστημα Το MSB του αριθμού έχει το ρόλο του προσήμου. Αν είναι 0 ο αριθμός είναι θετικός, αλλιώς είναι αρνητικός Ο εκθέτης μπορεί να είναι αρνητικός, οπότε έχει το δικό του πρόσημο 22
Παράσταση κινητής υποδιαστολής Όπως είδαμε υπάρχουν πολλοί τρόποι για να γραφεί εκθετικά ένας αριθμός Η παράσταση εκείνη για την οποία ισχύει ½ σ<1 ονομάζεται κανονική μορφή Παράδειγμα: Η κανονική μορφή του αριθμού 0101,110 είναι 0,101110. 2 011 δηλαδή το ακέραιο μέρος πρέπει να είναι 0 και το πρώτο κλασματικό ψηφίο 1 Η κανονική μορφή είναι επιθυμητή γιατί επιτρέπει την καταγραφή περισσότερων ψηφίων του συντελεστή, αυξάνοντας την ακρίβεια της παράστασης. Επίσης, επιτρέπει την παράσταση με ένα και μοναδικό τρόπο. Ερ:. Ποιος αριθμός δεν έχει κανονική μορφή; 23
Παράσταση κινητής υποδιαστολής Μπορούμε να χρησιμοποιήσουμε οποιαδήποτε από τις τρεις μεθόδους που μελετήσαμε για τους προσημασμένους ακέραιους. Π.χ. για την παράσταση ενός αρνητικού πραγματικού αριθμού σε παράσταση συμπληρώματος ως προς 1 παίρνουμε το μέτρο του, βρίσκουμε την κανονική του μορφή, γράφουμε τον εκθέτη και το συντελεστή στα αντίστοιχα πεδία και τέλος παίρνουμε συμπλήρωμα ως προς 1 λαμβάνοντας υπόψη και τα n ψηφία 24
Πράξεις πραγματικών αριθμών Για να προσθέσουμε δύο αριθμούς: 1. Αρχικά τους μετατρέπουμε (με αντίστοιχη ολίσθηση) ώστε να έχουν τον ίδιο εκθέτη Ερ.: Ποιες είναι οι επιπτώσεις της ολίσθησης; 2. Προσθέτουμε τους συντελεστές των αριθμών 3. Γράφουμε το αποτέλεσμα στην κανονική μορφή Προσοχή: Το πλήθος ψηφίων του συντελεστή μένει πάντα σταθερό 25
Πολλαπλασιασμός Διαίρεση πραγματικών αριθμών Ο πολλαπλασιασμός και η διαίρεση πραγματικών αριθμών κινητής υποδιαστολής γίνονται αρκετά εύκολα Πολλαπλασιασμός Διαίρεση 26
Ακρίβεια και εύρος Το πλήθος των ψηφίων που χρησιμοποιούνται για το συντελεστή καθορίζει την ακρίβεια παραστάσεως των αριθμών Τον κοντινότερο στο 0 θετικό και τον κοντινότερο στο 0 αρνητικό αριθμό Το πλήθος των ψηφίων που χρησιμοποιούνται για τον εκθέτη καθορίζει το εύρος των αριθμών που μπορούν να παρασταθούν Τον μεγαλύτερο και μικρότερο αριθμό που μπορεί να παρασταθεί 27
Παράσταση Χαρακτήρων
Παράσταση χαρακτήρων Στα υπολογιστικά συστήματα, εκτός από αριθμούς υπάρχει και η ανάγκη παράσταση διάφορων συμβόλων όπως οι αλφαβητικοί χαρακτήρες, τα σημεία στίξης, κτλ. Η αντιστοιχία μεταξύ των προαναφερθέντων συμβόλων με δυαδικά ψηφία καλείται κώδικας Μια ευρέως αποδεκτή αντιστοίχιση χαρακτήρωνδυαδικών ψηφίων (καθορισμένη συνήθως από κάποιο διεθνή οργανισμό πιστοποίησης) ονομάζεται σύνολο χαρακτήρων 29
Κώδικας ASCII Αρχικά 7 bits 30
ISO 8859-7 - Ελληνικά 8 bits 31
Unicode Ελληνικά: Από 0x370 έως 0x3CF 16 bits 32