στους Ηλεκτρονικούς Υπολογιστές 4 ο Μάθημα Λεωνίδας λεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.
Στα προηγούμενο μάθημα Συστήματα ρίθμησης το Δυαδικό Μετατροπή από το ένα σύστημα στο άλλο ποκωδικοποίηση Κωδικοποίηση Η πρόσθεση στο Δυαδικό H αφαίρεση στο Δυαδικό Παράσταση ρνητικών 1 os Τρόπος: Με πρόσημο 2 ος Τρόπος: Με Παράσταση Συμπληρώματος ως προς 2 3 ος Τρόπος: Με Πόλωση (Σήμερα) 3
6bit Έλεγχος αποτελέσματος πρόσθεσης / αφαίρεσης μέσω κρατουμένων με την Παράσταση Συμπληρώματος ως προς 2 Ίδια κρατούμενα Ίδια κρατούμενα π.χ. 16 + 2 = 18 π.χ. -8+9= 1-32 16 8 4 2 1-32 16 8 4 2 1 0 1 0 0 0 0 = 16 1 1 1 0 0 0 = -8 + 0 0 0 0 1 0 = 22 + 0 0 1 0 0 1 = -31 0 0 0 0 1 0 =-20 44 0 0 1 0 0 1 =25-39 0 0 1 1 Overflow Underflow π.χ. 22 + 22 = 44 π.χ. -8-31=(-8)+(-31)=-39-32 16 8 4 2 1-32 16 8 4 2 1 0 1 0 1 1 0 = 22 1 1 1 0 0 0 = -8 + 0 1 0 1 1 0 = 22 + 1 0 0 0 0 1 = -31 1 0 1 1 0 0 =-20 44 0 1 1 0 0 1 =25-39 0 1 1 0 3 4
Κωδικοποίηση & ποκωδικοποίηση ριθμών & Χαρακτήρων Ο πολλαπλασιασμός στο Δυαδικό Παράσταση Κλασματικών στο Δυαδικό Κωδικοποίηση Χαρακτήρων 5
Πολλαπλασιασμός Δυαδικών κεραίων 0 0 = 0 0 1 = 0 1 0 = 0 1 1 = 1 Παραδείγματα 1 0 0 1 1 0 0 1 0 0 0 0. 0 0 0 0 1 0 1. 1 0 1 ο πολλαπλασιασμός δυαδικών αριθμών πραγματοποιείται με πρόσθεση και ολίσθηση προς τα αριστερά. 5 6
λγόριθμος πολλαπλασιασμού Έστω ότι θέλουμε να πολλαπλασιάσουμε 2 αριθμούς, D μήκους λέξης n-bit. Κατασκευάζουμε τα χωρία A,B,C,D με το Β να έχει μήκος 1-bit ενώ τα A,C,D n-bit π.χ για n=4 Βήμα 1ο : Τοποθέτησε τους A, D στα αντίστοιχα κελιά και τοποθέτησε μηδενικά στα B, C. Βήμα 2ο : Κάνε τα παρακάτω n φορές (βρόχος) ν το LSD του D είναι 1, τότε πρόσθεσε τα, C. Βάλε το αποτέλεσμα στο C και το κρατούμενο (αν υπάρχει) στο B. ν δεν υπάρχει κρατούμενο, τότε στο B μπαίνει 0. Μετάθεσε όλα τα ψηφία του ενοποιημένου χώρου BCD όλα μια θέση δεξιά (ολίσθηση) Βήμα 3ο : Μόλις τελειώσουν οι n φορές, το αποτέλεσμα είναι στο CD. Β C D 6 7
λγόριθμος πολλαπλασιασμού, ( συνέχεια) Παράδειγμα: =1101, D=1001, προφανώς n=4 Βήμα 1: 0 0 0 0 0 1 0 0 1 (β) Βήμα Μετάθεση 1o: Τοποθέτησε όλων των τους ψηφίων A, Dτου στα αντίστοιχα BCD κατά κελιά μια και θέση δεξιά βάλε μηδενικά στα B, C. Β C πρόσθεσε τα, C. DΒάλε το Βήμα 2: i=1 n=4. αποτέλεσμα στο C και το i=2 n=4. (α) Το LSD=1 οπότε +C C (α) Το LSD=0 κρατούμενο: οπότε δεν αλλάζει τίποτα 0 1 0 0 1 Βήμα 2ο: Κάνε τα παρακάτω n φορές 0 0 1(βρόχος) 1 0 1 1 0 0 0 0 ενοποιημένου 1 1 0 χώρου 1 1BCD0 μια 0 - ν το LSD του D είναι 1, τότε (αν υπάρχει) στο B. (αν δεν υπάρχει) τότε στο B μπαίνει 0. - Μετάθεσε όλα τα ψηφία του 1 0 0 1 0 0 0 0 0 0 0 0. 1 0 1 θέση δεξιά (ολίσθηση) Βήμα 3ο: Μόλις τελειώσουν οι n φορές, το αποτέλεσμα είναι στο CD. 7 8
λγόριθμος πολλαπλασιασμού, ( συνέχεια) (β) Μετάθεση όλων των ψηφίων του BCD κατά μια θέση δεξιά 0 0 0 1 0. 1 0 1 (β) Μετάθεση όλων των ψηφίων του BCD κατά μια θέση δεξιά 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 i=3 n=4. (α) Το LSD=0 οπότε δεν αλλάζει τίποτα 0 0 0 1 0 i=4 n=4. (α) Το LSD=1 οπότε +C C 0 1 0 1 1 8 9
λγόριθμος πολλαπλασιασμού, ( συνέχεια) (β) Μετάθεση όλων των ψηφίων του BCD Βήμα 4: Το αποτέλεσμα είναι στο CD κατά μια θέση δεξιά 0 0 1 0 1 0 0 1 0 1 1 0 0 1. 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0. 1 0 1 9 10
Κλασματικοί ριθμοί στο Δυαδικό Δυαδικό 1010.1010 1 0 1 0 1 0 1 0 8 δες 4 δες 2 δες 1 δες 1/2 α 4 τα 8 α 16 α 10 11
Κλασματικοί ριθμοί στο Δυαδικό ποκωδικοποίηση : Δεδομένου ότι n 1 n 2... 1 0 D D D D 1 D 2 D... m D (. ) = D * B +... + D* B + D* B +... + D * B n 1 n 1 0 0 1 1 m m προφανώς 0.00101 2 = 0*2-1 +0*2-2 +1*2-3 +0*2-4 +1*2-5 =0.15625 10 Κωδικοποίηση : ντιστρόφως, αν έχουμε τον αριθμό 0.158 10 τότε 0.158*2 = 0.316 0.316*2 = 0.632 0.632*2 = 1.264 0.264*2 = 0.528 0.528*2 = 1.056 0.158 10 = 0.0 0 1 0 1 2 B = 11 12
Παραδείγματα ποκωδικοποίηση: 10.011 2 D.DDD 10? Κωδικοποίηση : 2.8 10 DD.DDD 2? Πόσο περισσεύει? 12 13
Πρόσημο Κλασματικών πρόσημο-μέτρο: το MSD δηλώνει το πρόσημο (π.χ. 0: θετικό, 1 : αρνητικό). Παράδειγμα: 13 = 1 + 1 + 1 32 4 8 32 Sign ½ ¼ 1/8 1/16 1/32 1 0 = -13/32 0 0 0 1 0 1 = 0.158 10 συμπλήρωμα ως προς 2: Παράδειγμα: -1 ½ ¼ 1/8 1/16 1/32 0 0 = 13/32 1 1 0 0 1 0 + 1 1 1 0 0 1 1 =c 2 (13/32)=-13/32 13 14
Σε Η/Υ που Πρόβλημα Εξάσκησης χρησιμοποιεί τη σύμβαση c 2 ( ), το μήκος λέξης είναι 8 bit, και τα 3 bit είναι για το κλασματικό μέρος, Να παρασταθούν ως δυαδικοί οι αριθμοί 5.5 10 και - 4.25 10 Να γίνει η πράξη 5.5 10-4.25 10 στο δυαδικό Να εξετασθεί (από πλευράς Η/Υ) η ορθότητα της πράξης. 14 15
Πόλωση - Πλεονασμός κατά Κ Στο δυαδικό σύστημα ένας 8-bit αριθμός περιέχει αριθμούς από το 0 255 Τι θα γινόταν αν μεταθέταμε το 0 σε 128? «Πόλωση 128» Το «000» θα αντιστοιχούσε σε «128» Το «-128» θα αντιστοιχούσε σε «0» (δηλ. Min) Το «+127» θα αντιστοιχούσε σε «255» (δηλ. max) Π.χ Να παρασταθεί o αριθμός 5 σε 8-bit δυαδικό σύστημα με πόλωση 128 Το «5» αντιστοιχεί σε 133 10000101 16 15
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «νοικτά καδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.