Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Λογική Σχεδίαση Ψηφιακών Συστημάτων Σταμούλης Γεώργιος georges@uth.gr Δαδαλιάρης Αντώνιος dadaliaris@uth.gr
Δυαδικοί Αριθμοί Η γενική αναπαράσταση ενός οποιουδήποτε αριθμού ακολουθεί τον τύπο: a n.r n +a n-1.r n-1 +...+a 2.r 2 +a 1.r+a 0 +a -1.r -1 +...+a -m.r -m όπου a i είναι οι συντελεστές και r είναι η βάση. Παράδειγμα: Ο αριθμός 25.76 αναλόγως της βάσης που θα επιλέξουμε μπορεί να περιγραφεί ώς εξής: 2χ10 1 + 6χ10 0 + 7χ10-1 + 6χ10-2 1x2 4 + 1x2 3 + 0x2 2 + 1x2 1 + 0x2 0 + 1x2-1 + 1x2-2
Δεκαδικό / Δυαδικό / Οκταδικό / Δεκαξαδικό Σύστημα Αναπαράστασης
Πράξεις με δυαδικούς αριθμούς (1)
Πράξεις με δυαδικούς αριθμούς (2)
Πράξεις με δυαδικούς αριθμούς (3) Πολλαπλασιασμός (1011 χ 101) 1011 χ 101 ----------------------- 1011 0000 + 1011 ------------------------ 110111
Μετατροπή βάσης αριθμού Μετατροπή Ακεραίου 41 20 1 10 0 5 0 2 1 1 0 0 1 = 101001
Μετατροπή βάσης αριθμού Μετατροπή Κλάσματος 0.6875 1 0.3750 0 0.7500 1 0.5000 1 =.1011
Μετατροπή από δυαδικό σε οκταδικό
Μετατροπή από δυαδικό σε δεκαεξαδικό
Συμπληρώματα (1)
Συμπληρώματα (2) Για να πραγματοποιήσουμε μια οποιαδήποτε αφαίρεση, μπορούμε να προσθέσουμε στο μειωτέο (Μ) το συμπλήρωμα ως προς r του αφαιρετέου (Α). Αν Μ >= Α το άθροισμα που προκύπτει θα έχει τελικό κρατούμενο το οποίο αγνοούμε για να λάβουμε το τελικό αποτέλεσμα. Αν Μ < Α το άθροισμα που προκύπτει δεν έχει κρατούμενο, το τελικό αποτέλεσμα είναι το συμπλήρωμα προς r του αθροίσματος. Παράδειγμα #1: 76-23 Το συμπλήρωμα ώς προς 10 του 23 είναι 77, επομένως προσθέτουμε το 77 με το 76. Το αποτέλεσμα είναι 153, πρέπει όμως να αγνοήσουμε το κρατούμενο, επομένως το τελικό αποτέλεσμα είναι 53. Παράδειγμα #2: 23-76 Το συμπλήρωμα ως προς 10 του 76 είναι 24, επομένως προσθέτουμε το 24 με το 23. Το αποτέλεσμα είναι 47. Στο αποτέλεσμα αυτό δεν υπάρχει κρατούμενο. Επομένως πρέπει να υπολογίσουμε το συμπλήρωμα ώς προς 10 του 47. Τελικό αποτέλεσμα -53.
Συμπληρώματα (3) Παράδειγμα με δυαδικούς #1: 78-23 = 1001110-0010111 Αρχικά υπολογίζουμε το συμπλήρωμα ως προς 2 του 23. (Συμπλήρωμα ως προς 1, και προσαύξηση κατά 1) Το συμπλήρωμα ως προς 2 του 0010111 είναι 2 7-0010111 = 1000000-0010111 1000000-0010111 -------------- 1101001 Επομένως πρέπει να προσθέσουμε το 1001110 με το 1101001 για να λάβουμε το τελικό αποτέλεσμα. 1001110 + 1101001 --------------- 1 0110111
Συμπληρώματα (4) Παράδειγμα με δυαδικούς #2: 23-78 = 0010111-1001110 Αρχικά υπολογίζουμε το συμπλήρωμα ως προς 2 του 78. (Συμπλήρωμα ως προς 1, και προσαύξηση κατά 1) Το συμπλήρωμα ως προς 2 του 1001110 είναι 2 7-1001110 = 1000000-1001110 1000000-1001110 -------------- 0110010 Επομένως πρέπει να προσθέσουμε το 0010111 με το 0110010 για να λάβουμε το τελικό αποτέλεσμα. 0010111 + 0110010 --------------- 1001001 Το συμπλήρωμα ως προς 2 του παραπάνω αθροίσματος είναι 0110111.
Προσημασμένοι Δυαδικοί Αριθμοί Τρόποι Απεικόνισης: Προσημασμένο Μέτρο: Το αριστερότερο ψηφίο / bit είναι το πρόσημο του αριθμού (0 = +, 1= -), και το υπόλοιπο είναι το μέτρο (απόλυτη τιμή). Παράδειγμα: Απεικόνιση του αριθμού -9 με 8 ψηφία -> 10001001 Παράδειγμα: Απεικόνιση του αριθμού +9 με 8 ψηφία -> 00001001 Προσημασμένο Συμπλήρωμα ως προς 2: Το αριστερότερο ψηφίο / bit είναι το πρόσημο του αριθμού (0 = +, 1= -), και όλος ο αριθμός σε συμπλήρωμα ως προς 2. Παράδειγμα: Απεικόνιση του αριθμού -9 με 8 ψηφία -> 11110111 Παράδειγμα: Απεικόνιση του αριθμού +9 με 8 ψηφία -> 00001001 Το Προσημασμένο μέτρο χρησιμοποιείται στην "συνηθισμένη" αριθμητική, αλλά δεν είναι ιδιαιτέρως εύχρηστο για έναν υπολογιστή. Η πιο εύκολη αναπαράσταση στους ηλεκτρονικούς υπολογιστές είναι το Προσημασμένο Συμπλήρωμα ως προς 2.
Αφαίρεση Προσημασμένου Συμπληρώματος ως προς 2: Προσθέτουμε στον μειωτέο το συμπλήρωμα ως προς 2 του αφαιρετέου. Τυχόν κρατούμενο αγνοείται. Παράδειγμα: (-6) - (-13) = 11111010-11110011 = 11111010 + 00001101 = 00000111 =7 Αριθμητική Πρόσθεση / Αφαίρεση Αριθμητική Πρόσθεση (απαιτεί σύγκριση προσήμων): Αν τα πρόσημα είναι ίδια, προσθέτουμε τα μέτρα με τελικό πρόσημο το κοινό. Αν τα πρόσημα είναι διαφορετικά, αφαιρούμε από τον μεγαλύτερο τον μικρότερο με τελικό πρόσημο αυτό του μεγαλύτερου. Πρόσθεση Προσημασμένου Συμπληρώματος ως προς 2: Απλή πρόσθεση και το τελικό κρατούμενο αγνοείται. Αν το αποτέλεσμα είναι αρνητικό θα είναι σε συμπλήρωμα ως προς 2. Δεν απαιτείται καμμιά επιπλέον μετατροπή ή σύγκριση.
Συστήματα Μικτής Βάσης & Συστήματα Αρνητικής Βάσης Συστήματα Μικτής Βάσης: Συστήματα στα οποία κάθε ψηφίο δεν εκφράζει δυνάμεις του ίδιου αριθμού (της ίδιας δηλαδή βάσης). Παράδειγμα: Ημερομηνία (Ημέρα, Μήνας, Χρόνος) / Ώρα (Ώρα, Λεπτό, Δευτερόλεπτο) Συστήματα Αρνητικής Βάσης: Συστήματα στα οποία η βάση είναι αρνητικός αριθμός (π.χ. -2 (negbinary)). Όλες οι μετατροπές γίνονται όπως και σε συστήματα με θετική βάση. Δεκαδικοί Δυαδικοί Negbinary 0 0000 00000 1 0001 00001 2 0010 00110 3 0011 00111 4 0100 00100 5 0101 00101 6 0110 11010 7 0111 11011 8 1000 11000 9 1001 11001 10 1010 11110
Δυαδικοί Κώδικες (1) Ένας δυαδικός κώδικας είναι στην ουσία ένας τρόπος αναπαράστασης πληροφοριών με χρήση δυαδικών ψηφίων (bits). Οι σημαντικότεροι δυαδικοί κώδικες για τα δεκαδικά ψηφία είναι οι ακόλουθοι: BCD Excess - 3 84-2 - 1 2421 Biquinary Gray
Δυαδικοί Κώδικες (2) Δεκαδικό BCD Excess - 3 84-2 - 1 Biquinary 2421 Gray 00 0000 0011 0000 0100001 0000 0000 01 0001 0100 0111 0100010 0111 0001 02 0010 0101 0110 0100100 0110 0011 03 0011 0110 0101 0101000 0101 0010 04 0100 0111 0100 0110000 0100 0110 05 0101 1000 1011 1000001 1011 0111 06 0110 1001 1010 1000010 1010 0101 07 0111 1010 1001 1000100 1001 0100 08 1000 1011 1000 1001000 1000 1100 09 1001 1100 1111 1010000 1111 1101
Δυαδική Λογική Η δυαδική λογική ασχολείται με μεταβλητές οι οποίες μπορούν να λάβουν μόνο δύο διακριτές τιμές (0 και 1) και με λογικές πράξεις. Οι τρεις βασικές λογικές πράξεις της δυαδικής λογικής είναι οι ακόλουθες: ΚΑΙ (AND) Η' (OR) ΟΧΙ (NOT) X Y AND (x y) OR (x + y) NOT (x') 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0
Πύλες ΚΑΙ (AND) / Η' (OR) / ΟΧΙ (NOT) A B Q 0 0 0 0 1 0 1 0 0 1 1 1 A B Q 0 0 0 0 1 1 1 0 1 1 1 1 A Q 0 1 1 0
1ο Σετ Ασκήσεων (Παράδοση 12/10) Γράψτε τον Αριθμό Μητρώου σας σε τρεις διαφορετικές βάσεις της επιλογής σας χρησιμοποιώντας τον γενικό τρόπο αναπαράστασης της πρώτης διαφάνειας. Υπολογίστε την αναπαράσταση του Α.Μ. σε βάση δύο, χρησιμοποιώντας τον αλγόριθμο διαδοχικών διαιρέσεων. Θεωρείστε τον Α.Μ. ως το δεκαδικό κομμάτι ενός αριθμού. Υπολογίστε την αναπαράστασή του χρησιμοποιώντας τον αλγόριθμο διαδοχικών πολλαπλασιασμών. Μετατρέψτε τους ακολουθους δυαδικούς αριθμούς στο οκταδικό και στο δεκαεξαδικό σύστημα (101, 1100, 10101, 110011, 1011111, 10001111). Υπολογίστε το συμπλήρωμα ως προς 10, 9 του Α.Μ. σας. Με ποιό τρόπο μπορούμε να υπολογίσουμε το συμπλήρωμα ως προς 2 ενός οποιουδήποτε αριθμού χρησιμοποιώντας το συμπλήρωμα ως προς 1 του ίδιου αριθμού. Δώστε ένα παράδειγμα. Γράψτε τον Α.Μ. σας και τον αντίθετό του χρησιμοποιώντας ως τρόπο απεικόνισης το Προσημασμένο Μέτρο και το Προσημασμένο Συμπλήρωμα ως προς 2. Ακολούθως, προσθέστε και αφαιρέστε από τους παραπάνω αριθμούς το -128. Συμπληρώστε τον πίνακα του κώδικα Gray (σύμφωνα με την διαφάνεια), με όσους αριθμούς μπορούν να εκφραστούν με χρήση του συγκεκριμένου αριθμού από bits.