Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2 Δρ. Χρήζηος Ηλιούδης
Μθ Προςθμαςμζνοι Ακζραιοι Εφαρμογζσ (ςε οποιαδιποτε περίπτωςθ δεν χρειάηονται αρνθτικοί αρικμοί) Καταμζτρθςθ. Διευκυνςιοδότθςθ. 2
Μθ Προςθμαςμζνοι Ακζραιοι Αν ο ακζραιοσ προσ αποκικευςθ είναι μεγαλφτεροσ από το μζγιςτο μθ προςθμαςμζνο τότε ζχουμε μια κατάςταςθ που ονομάηεται υπερχείλιςη Δεκαδικός Δέζμευζη 8 μπιη Δέζμευζη 16 μπιη 7 00000111 0000000000000111 234 11101010 0000000011101010 258 Υπερχείλιζη 0000000100000010 24.760 Υπερχείλιζη 0110000010111000 1.245.678 Υπερχείλιζη Υπερχείλιζη Αποθήκεσζη μη προζημαζμένων ακεραίων ζε δύο διαθορεηικούς σπολογιζηές με δέζμεσζη 8 και 16 μπιη ανηίζηοιτα 3
Θζματα διάλεξησ Παράςταςθ πρόςθμο-μζγεκοσ Παράςταςθ ςυμπλιρωμα ωσ προσ 2 ι ΣΤ2 Παράςταςθ ςυμπλιρωμα ωσ προσ 1 ι ΣΤ1 4
παραςταςθ ςυνθκιςμζνοσ τρόποσ παραςταςθσ το ςφμβολο του πρόςθμου (+ ι - ) μπροςτά από το μζγεκοσ (απόλυτθ τιμι) του αρικμοφ. Η μζκοδοσ αυτι ονομάηεται πρόςημομζγεθοσ (αλγεβρικι μζκοδοσ). λογικά κυκλϊματα? Ανάγκθ για ευζλικτα ςυςτιματα παράςταςθσ. 5
ςυςτιματα παράςταςθσ Παράςταςθ πρόςθμο-μζγεκοσ Παράςταςθ ςυμπλιρωμα ωσ προσ 2 ι ΣΤ2 Παράςταςθ ςυμπλιρωμα ωσ προσ 1 ι ΣΤ1 6
ςφςτθμα πρόςθμο-μζγεκοσ Στο ςφςτθμα πρόςθμο-μζγεκοσ (Signed- Magnitude Representation), αν ο χϊροσ αποκικευςθσ ενόσ ακεραίου αρικμοφ ζχει μικοσ n bits, τότε θ παράςταςθ του χωρίηεται ςε δφο τμιματα. Πρόσημο Μέγεθος 0 1 n-1 7
ςφςτθμα πρόςθμο-μζγεκοσ Το πρϊτο τμιμα αποτελείται από το bit 0 (κεςθ 0) και το δεφτερο τμιμα από τα bits 1 ζωσ n-1. (κεςεισ 1 ζωσ n-1) Το πρϊτο τμιμα περιζχει το πρόςημο του αρικμοφ και το δεφτερο το μζγεθοσ. Αν το πρόςθμο περιζχει το ψθφίο 0 τότε o αρικμόσ κα κεωρείται κετικόσ, αν περιζχει το 1 ο αρικμόσ κα κεωρείται αρνθτικόσ 8
Η αρίκμθςθ των bits γίνεται από αριςτερά προσ τα δεξιά. MSB βρίςκεται ςτθ κζςθ 1 LSB ςτθ κζςθ n-1. Το ςφςτθμα αυτό τθσ παράςταςθσ των αρνθτικϊν και κατ' επζκταςθ όλων των ακεραίων ονομάηεται πρόςημο-μζγεθοσ 9
Παραδείγματα Aν n = 8 τότε: 00101011 2 = + 43 10 11111111 2 = -127 10 10101011 2 = - 43 10 00000000 2 = +0 10 01111111 2 = +127 10 10000000 2 = -0 10 O μζγιςτοσ ακζραιοσ είναι: 2 8-1 -1 = 2 7-1=128-1=127 10
Στθν παράςταςθ πρόςημο μζγεθοσ ςε ζναν υπολογιςτι με μικοσ κζςθσ n bits οι ακζραιοι αρικμοί περιζχονται μεταξφ των αρικμϊν -(2 n-1-1) και (2 n-1-1). ζνασ υπολογιςτισ με μικοσ κζςθσ n bits μπορεί, ςτο ςφςτθμα πρόςθμο-μζγεκοσ, να κάνει πράξεισ μόνο με ακεραίουσ προςθμαςμζνουσ αρικμοφσ που περιλαμβάνονται ςτα παραπάνω όρια. 11
Ζχει ςθμαςία το μικοσ κζςθσ για τθν δυνατότθτα του υπολογιςτι. Στο ςφςτθμα αυτό μποροφν να κωδικοποιθκοφν 2 n -1 διαφορετικοί προςθμαςμζνοι ακζραιοι, από τουσ οποίουσ οι 2 n-1-1 είναι αρνθτικοί, οι 2 n-1-1 είναι κετικοί και υπάρχουν δφο παραςτάςεισ του μθδενόσ. 12
μικροχπολογιςτισ με επεξεργαςτι 8086. (ζχει μικοσ κζςθσ μνιμθσ 16 bits ) ο μεγαλφτεροσ προςθμαςμζνοσ ακζραιοσ πρζπει να είναι ο 2 15-1 = 32767. επεξεργάηεται και μεγαλφτερουσ ακζραιουσ. τοποκετεί τουσ προςθμαςμζνουσ ακεραίουσ ςε δφο ςυνεχόμενεσ κζςεισ τθσ μνιμθσ. Αμζςωσ αυξάνεται το μζγεκοσ των αρικμϊν που μποροφμε ν' αποκθκεφςουμε, ςε βάροσ όμωσ τθσ χωρθτικότθτασ τθσ μνιμθσ. 13
αλγεβρικοί κανόνεσ Oι πράξεισ τθσ πρόςκεςθσ και τθσ αφαίρεςθσ ακολουκοφν τουσ κλαςςικοφσ αλγεβρικοφσ κανόνεσ 14
Πρόςθεςη ΑN τα πρόςθμα είναι ίδια ΣΟΣΕ προςκζτουμε τα μεγζκθ και δίνουμε ςτο αποτζλεςμα το κοινό πρόςθμο. ΔΙΑΦΟΡΕΣΙΚΑ αφαιροφμε το μικρότερο μζγεκοσ από το μεγαλφτερο και δίνουμε ςτο αποτζλεςμα το πρόςθμο του μεγαλφτερου. 15
Αφαίρεςη Αλλάηουμε το πρόςθμο του αφαιρετζου και κάνουμε πρόςκεςθ με τον αλγόρικμο πρόςκεςθσ. 16
Παράςταςη ςυμπλήρωμα ωσ προσ 2 ή Σ2 17
Προςθμαςμζνοι Ακζραιοι ςε Μορφι Συμπλθρϊματοσ ωσ προσ Δφο Εφαρμογζσ Η αναπαράςταςθ ςυμπλθρϊματοσ ωσ προσ δφο αποτελεί τον τυπικό τρόπο αναπαράςταςθσ για τθν αποκικευςθ ακζραιων ςτουσ ςφγχρονουσ υπολογιςτζσ 18
Συμπλιρωμα μθ προςθμαςμζνου αρικμοφ ωσ προσ βάςθ R Εςτω οτι ζχουμε ζναν υπολογιςτι με μικοσ κζςθσ n bits. 'Ένασ ακζραιοσ δυαδικόσ αρικμόσ Χ με n ψθφία παριςτάνεται από το διάνυςμα (Χ n-1 Χ n-2... Χ 0 ). Ονομάηουμε ςυμπλιρωμα ωσ προσ τθ βάςθ R του ςυςτιματοσ παράςταςθσ του Χ, ζναν ακζραιο αρικμό Χ' τζτοιον ϊςτε Χ + Χ' = R n. Aν R = 2 τότε X + X' = 2 n. Το Χ' ονομάηεται ςυμπλιρωμα ωσ προσ 2 (two's complement) του Χ. Το ςυμπλιρωμα του Χ ωσ προσ 2 κα το ςυμβολίηουμε με Σ2(Χ) 19
υπολογιςμόσ του Σ2(Χ) X + X' = 2 n ι Χ+Σ2(Χ)=2 n Σ2(Χ) = 2 n -Χ = (1 0 0...0) - (Χ n-1 Χ n-2... Χ 0 ). n+1 όροι n όροι Σ2(Χ) = (1 1 1...1) + (0 0 0...1) - (Χ n-1 Χ n-2... Χ 0 ). n όροι nόροι Σ2(Χ) = (1-Χ n-1 1-Χ n-2... 1-X 0 ) + (0 0 0...1) 20
Κανόνασ υπολογιςμοφ ςυμπλθρϊματοσ Σ2(Χ) = (1-Χ n-1 1-Χ n-2... 1-X 0 ) + (0 0 0...1) Το ςυμπλιρωμα ωσ προσ 2 ενόσ δυαδικοφ αρικμοφ Χ, υπολογίηεται αν αντιςτρζψουμε ζνα προσ ζνα τα ψθφία του και προςκζςουμε τθ μονάδα (δυαδικι πρόςκεςθ). 21
παραδειγμα Αν n = 8 τότε : Χ = 17 10 = 00010001 2 11101110 2 Αντιςτροφι + 1 Πρόςκεςθ Σ2(17) = 11101111 2 = 239 10 22
Σ2(127) Χ =127 10 = 01111111 2 10000000 2 + 1 Σ2(127) = 10000001 2 = 129 10 23
Σ2(99) Χ = 99 10 = 01100011 2 10011100 2 + 1 Σ2(99) = 10011101 2 = 157 10 24
δεφτεροσ πρακτικόσ κανόνασ Αντιςτρζφουμε τα ψθφία ζνα προσ ζνα αρχίηοντασ από αριςτερά προσ τα δεξιά μζχρι να ςυναντιςουμε τθ δεξιότερθ μονάδα Χ = 99 10 = 01100011 2 Σ2(99) = 10011101 2 = 157 10 25
φςτημα παράςταςησ Σ2 Οι μθ αρνθτικοί (κετικοί ι μθδζν) αρικμοί που είναι μικρότεροι ι ίςοι από 2 n-1-1 παριςτάνονται όπωσ ακριβϊσ ςτθν παράςταςθ πρόςθμο-μζγεκοσ. Οι αρνθτικοί αρικμοί από -2 n-1 μζχρι -1 ςυμπεριλαμβανομζνων παριςτάνονται με το ςυμπλιρωμα ωσ προσ 2 τθσ απολφτου τιμισ του Χ. αν κζλουμε ν' ανιχνεφςουμε τθν αρνθτικότθτα μιασ παράςταςθσ ςτο ΣΤ2 δεν ζχουμε παρά ν' ανιχνεφςουμε το MSB τθσ παράςταςθσ. Σε καμία περίπτωςθ όμωσ το ΜSB δεν μπορεί να κεωρθκεί πρόςθμο. 26
Παράςταςθ ςτο ΣΤ2 Στο ΣΤ2 οι ακζραιοι που μποροφν να παραςτακοφν ςε μια κζςθ των n bits πρζπει να βρίςκονται ςτο διάςτθμα (-2 n-1, 2 n-1-1) των ορίων ςυμπεριλαμβανομζνων. Στο ςφςτθμα αυτό μποροφν να κωδικοποιθκοφν 2 n διαφορετικοί προςθμαςμζνοι ακζραιοι, από τουσ οποίουσ οι 2 n-1 είναι αρνθτικοί, οι 2 n-1-1 είναι κετικοί και υπάρχει και μια παράςταςθ του μθδενόσ. 27
Παράδειγμα Να βρεκεί θ παράςταςθ του (-7) ςτο ΣΤ2 ςε υπολογιςτι με μικοσ κζςθσ 4 ψθφία. θ παράςταςθ του -7 ςτο ΣΤ2 για n=4 είναι : 7 = 0111 αντιςτροφι 1000 + 1 ------ Σ2(-7) = 1001 28
θ παράςταςθ του -7 ςτο ΣΤ2 είναι το Σ2(7) για n=8 7 = 00000111 αντιςτροφι 11111000 + 1 ------------- Σ2(-7) = 11111001 29
Παραςτάςεισ το 8 ςτο Σ2 n Παράσταση στο ΣΤ2 2 Δεν υπάρχει 3 Δεν υπάρχει 4 1000 5 11000 6 111000 7 1111000 8 11111000 30
εφκολθ αρικμθτικι Χωρθτικότθτα μιασ κζςθσ μικουσ n bits Ονομάηουμε ζτςι το μζγιςτο πλικοσ των προςθμαςμζνων ακεραίων που μποροφν να παραςτακοφν με n bits. θ χωρθτικότθτα εξαρτάται και από το ςφςτθμα παράςταςθσ. O κρίςιμοσ παράγοντασ για τθν επιλογι του ενόσ ι του άλλου ςυςτιματοσ δεν είναι θ χωρθτικότθτα, αλλά θ "ευκολία" πραγματοποίθςθσ των αρικμθτικϊν πράξεων. Η "εφκολθ αρικμθτικι" είναι φανερό πωσ ζχει άμεςθ επίπτωςθ ςτθν πολυπλοκότθτα των λογικϊν κυκλωμάτων και κατ' επζκταςθ ςτο κόςτοσ του υπολογιςτι. 31
Παράςταςθ ςτο ΣΤ2 Στο ΣΤ2 οι ακζραιοι που μποροφν να παραςτακοφν ςε μια κζςθ των n bits πρζπει να βρίςκονται ςτο διάςτθμα (-2 n-1, 2 n-1-1) των ορίων ςυμπεριλαμβανομζνων. Στο ςφςτθμα αυτό μποροφν να κωδικοποιθκοφν 2 n διαφορετικοί προςθμαςμζνοι ακζραιοι, από τουσ οποίουσ οι 2 n-1 είναι αρνθτικοί, οι 2 n-1-1 είναι κετικοί και υπάρχει και μια παράςταςθ του μθδενόσ. 32
-8 1000-7 1001-6 1010-5 1011-4 1100-3 1101-2 1110-1 1111 33
Κανόνασ πρόςθεςησ ςτο Σ2 Ακολουκοφμε τουσ κανόνεσ τθσ πρόςκεςθσ μθ προςθμαςμζνων δυαδικϊν Αρικμϊν και αγνοοφμε κάκε κρατοφμενο πζρα από το ΜSB. Εάν μια πράξθ πρόςκεςθσ παράγει ζνα αποτζλεςμα το οποίο είναι ζξω από τα όρια του ςυςτιματοσ παράςταςθσ τότε λζμε ότι ζχουμε υπερχείλιςη (Overflow). 34
υπερχείλιςη υπερχείλιςη είναι το φαινόμενο όπου αρικμοί n bits μετά τθν διαδικαςία μιασ πράξθσ δίνουν αποτζλεςμα που δεν παριςτάνεται με n bits. ςτθν πρόςκεςθ, αρικμοί με διαφορετικό πρόςθμο δεν παρουςιάηουν υπερχείλιςθ ενϊ αντίκετα αρικμοί με το ίδιο πρόςθμο παρουςιάηουν. 35
Παραδείγματα πρόςκεςθσ ςτο ΣΤ2 +3 0011-2 1110 + +4 + 0100 + -6 + 1010 +7 0111 NO overflow -8 11000 NO overflow 36
+6 0110 +4 0100 + -3 +1101 + -7 +1001 +3 10011 NO overflow -3 1101 NO overflow 37
-8 1000-7 1001-6 1010-5 1011-4 1100-3 1101-2 1110-1 1111 38
-3 1101 +5 0101 + -6 + 1010 + +6 + 0110-9 10111 **overflow** +11 1011 **overflow** ΑΝ οι αρικμοί είναι ετερόςθμοι ΣΟΣΕ δεν υπάρχει υπερχείλιςθ ΔΙΑΦΟΡΕΣΙΚΑ ΑΝ το MSB του ενόσ προςκετζου είναι το ίδιο με το MSB του αποτελζςματοσ ΣΟΣΕ δεν υπάρχει υπερχείλιςθ ΔΙΑΦΟΡΕΣΙΚΑ υπάρχει υπερχείλιςθ 39
-8 1000 +7 0111 + -8 + 1000 + +7 + 0111-16 10000 **overflow** +14 1110 **overflow* ΑΝ οι αρικμοί είναι ετερόςθμοι ΣΟΣΕ δεν υπάρχει υπερχείλιςθ ΔΙΑΦΟΡΕΣΙΚΑ ΑΝ το MSB του ενόσ προςκετζου είναι το ίδιο με το MSB του αποτελζςματοσ ΣΟΣΕ δεν υπάρχει υπερχείλιςθ ΔΙΑΦΟΡΕΣΙΚΑ υπάρχει υπερχείλιςθ 40
-8 1000-7 1001-6 1010-5 1011-4 1100-3 1101-2 1110-1 1111 41
Kανόνασ υπερχείλιςησ για τη πρόςθεςη ΑΝ οι αρικμοί είναι ετερόςθμοι ΣΟΣΕ δεν υπάρχει υπερχείλιςθ ΔΙΑΦΟΡΕΣΙΚΑ ΑΝ το MSB του ενόσ προςκετζου είναι το ίδιο με το MSB του αποτελζςματοσ ΣΟΣΕ δεν υπάρχει υπερχείλιςθ ΔΙΑΦΟΡΕΣΙΚΑ υπάρχει υπερχείλιςθ 42
Κανόνασ αφαίρεςησ ςτο Σ2 Β0 : Αντιςτρζφουμε τα ψθφία του αφαιρετζου Β1 : Προςκζτουμε (πρόςκεςθ ςτο ΣΤ2) τον αρικμό που κα προκφψει από το βιμα 1 ςτον μειωτζο με αρχικό κρατοφμενο 1 αντί 0. 43
Παραδείγματα 1 αρχικό κρατοφμενο. +4 0100 0100 - +3-0011 + 1100 Αντιςτροφι 1 10001 NO overflow 44
1 αρχικό κρατοφμενο. +3 0011 0011 - -4-1100 + 0011 +7 0111 NO overflow 1 αρχικό κρατοφμενο. +3 0011 0011 - +4-0100 + 1011-1 1111 NO overflow 1 αρχικό κρατοφμενο. +3 0011 0011 - -6-1010 + 0101 +9 1001 **overflow** 45
Ερωτιςεισ - ςυηιτθςθ