Microcontrollers numerical systems

John StroutzosMechanics

Nov 30, 2011 (5 years and 8 months ago)

801 views

Συστήματααρίθμησης
Δεκαδικόσύστημααρίθμησης
1402=1000 + 400 +2
=1*10
3 + 4*102 + 0*101 + 2*100
Γενικάσεένασύστημααρίθμησηςμεβάσητο
b ∊
N
, έναςακέραιοςαριθμόςμεn ψηφία
παριστάνεταιως:
α=
= αn-1
*bn-1
+ an-2
*b n-2
+…+a1b1
+ a0
όπουτα0≤ai≤b-1


=
1
0
n
i
i
iba
Σ
υνη
θ
ισμ
έ
νασυστ
ή
ματα
αρίθμησης
•Δεκαδικό
0,1,…,9
•Δυαδικό
0,1. Έναψηφίοενόςδυαδικούαριθμούονομάζεταιbit
(binary digit).
π.χ. 10111 = 1*24 + 1*2
2 + 1*21 + 1*20
= 16 + 4 + 2 + 1 = 23
•Δεκαεξαδικό
0,…,9,A,B,C,D,E,F
FA2B = 15*163
+10*16
2 +2*16
1 +11*1= 64043
•Οκταδικό
0,…,7
572 (οκτ) = 378 (δεκ)
Μετατροπήαπόμιαβάσησεάλλη
•Ανοιβάσειςείναιδυνάμειςτου2, η
μετατροπήείναιεύκολη.
•Παράδειγμα
D
2
11010010
3
22
Δεκαεξαδικό
Δυαδικό
Οκταδικό
Μ
ετατροπ
ή
απ
ό
δ
εκα
δ
ικ
ό
σε
άλλ
η
βάση
•Ακέραιαδιαίρεση: div
7 div 3 = 2
•Ακέραιουπόλοιπο: mod
7 mod 3 = 1
Αλγόριθμοςμετατροπής
•Είσοδος: έναςαριθμόςστοδεκαδικόκαιηβάση
στηνοποίαθέλουμεναγίνειημετατροπή
•Έξοδος: Ηπαράστασητουαριθμούστηνέα
βάση.
1.υπόλοιπο= αριθμόςmod βάση
2.Τοποθέτησετουπόλοιποωςτοαριστερότεροψηφίο
τηςνέαςπαράστασης
3.αριθμός=αριθμόςdiv βάση
4.Επανάλαβεταβήματα1 έως3 μέχριοαριθμόςνα
είναι0.
Παράδειγμα
•αριθμός= 21, βάση=2.
•1ηεπανάληψη:
υπόλοιπο= 21 mod 2 = 1
παράσταση=‘1’
αριθμός= 21 div 2 = 10
•2ηεπανάληψη:
υπόλοιπο= 10 mod 2 =0
παράσταση=‘01’
αριθμός= 10 div 2 = 5
•3ηεπανάληψη:
υπόλοιπο= 5 mod 2 = 1
παράσταση=‘101’
αριθμός= 5 div 2 = 2
•4ηεπανάληψη:
υπόλοιπο= 2 mod 2 = 0
παράσταση=‘0101’
αριθμός= 2 div 2 = 1
•5ηεπανάληψη:
υπόλοιπο= 1 mod 2 = 1
παράσταση=‘10101’
αριθμός= 1 div 2 = 0
•Είσοδος: έναςαριθμόςστο
δεκαδικόκαιηβάσηστην
οποίαθέλουμεναγίνειη
μετατροπή
•Έξοδος: Ηπαράστασητου
αριθμούστηνέαβάση.
1.υπόλοιπο= αριθμόςmod
βάση
2.Τοποθέτησετουπόλοιποως
τοαριστερότεροψηφίοτης
νέαςπαράστασης
3.αριθμός=αριθμόςdiv βάση
4.Επανάλαβεταβήματα1 έως
3 μέχριοαριθμόςναείναι0.
Πράξειςθετικώνακεραίων
αριθμών
•Κρατούμενακατάτηνπρόσθεσηκαιτην
αφαίρεση
Πηγή: ΝεκτάριοςΚοζύρης, ΜαρίαΑθανασάκη, ΕυαγγελίαΑθανασάκη, ΣημειώσειςσταΣυστήματα
Αρίθμησης-ΔυαδικήΠαράστασηΑριθμώνΕθνικόΜετσόβιοΠολυτεχνείο, 2005.
Πρόσθεσηθετικώνακεραίων
•Πρόσθεσητωναριθμών43 και15
Πηγή: ΝεκτάριοςΚοζύρης, ΜαρίαΑθανασάκη, ΕυαγγελίαΑθανασάκη, ΣημειώσειςσταΣυστήματα
Αρίθμησης-ΔυαδικήΠαράστασηΑριθμώνΕθνικόΜετσόβιοΠολυτεχνείο, 2005.
Αφαίρεσηθετικώνακεραίων
•Αφαίρεση43-15
Πηγή: ΝεκτάριοςΚοζύρης, ΜαρίαΑθανασάκη, ΕυαγγελίαΑθανασάκη, ΣημειώσειςσταΣυστήματα
Αρίθμησης-ΔυαδικήΠαράστασηΑριθμώνΕθνικόΜετσόβιοΠολυτεχνείο, 2005.
Πολ/μόςθετικώνακεραίων
•Πολ/μόςτου22(10)
= 10110(2) μετον
11(10)
= 1011(2)

Πηγή: ΝεκτάριοςΚοζύρης, ΜαρίαΑθανασάκη, ΕυαγγελίαΑθανασάκη, ΣημειώσειςσταΣυστήματα
Αρίθμησης-ΔυαδικήΠαράστασηΑριθμώνΕθνικόΜετσόβιοΠολυτεχνείο, 2005.
Αναπαράστασηακεραίων(θετικώνκαι
αρνητικών)
•Οιαριθμοίαναπαρίστανταιμεσταθερόαριθμόψηφίων
(bits).
•Οαριθμόςτωνψηφίωνσυνιστάτομήκοςτηςλέξης(word)
τουυπολογιστή.
•Τομήκοςτηςλέξηςείναισυνήθωςπολλαπλάσιοτου8.
•Γιατηναναπαράστασηακεραίων:
–Τοπιοσημαντικόbit (Most Significant Bit –MSB), τοαριστερότερο
στηναναπαράστασητουαριθμούείναι
•0, ανοαριθμόςείναιθετικός,
•1, ανοαριθμόςείναιαρνητικός
•Υπάρχουντρειςτρόποιαναπαράστασηςμεαυτότοντρόπο
–Αναπαράστασημέτρου
–Αναπαράστασησυμπληρώματοςωςπρος1
–Αναπαράστασησυμπληρώματοςωςπρος2
•Προσημασμένοιαριθμοί.
ΑναπαράστασηΜέτρου
•ΤοMost Significant Bit (τοαριστερότεροψηφίο) δηλώνειανο
αριθμόςείναιθετικόςήαρνητικόςενώταυπόλοιπαn-1 ψηφία
παριστάνουντομέτρο(απόλυτητιμή) τουαριθμούσε
δυαδικήμορφή.
•Π.χ. σεμιααναπαράστασημε8 bit
19= 00010011
-19 = 10010011
•Ομέγιστοςθετικόςαριθμόςπουμπορείνααναπαρασταθείμε
nbit είναιο2n-1-1.
•Οελάχιστοςαρνητικόςαριθμόςπουμπορείνα
αναπαρασταθείμεn bitείναιο–(2n-1-1).
•Το0 αναπαρίσταταιμεδυοτρόπους: ως00…00 καιως
10…00
Αναπαράστασησυμπληρώματοςως
προς1
•ΑντοMSB είναι0 οαριθμόςείναιθετικόςτομέτροτουδίνεται
σταυπόλοιπαbits.
•ΑντοMSB είναι1 οαριθμόςείναιαρνητικόςκαιτο
συμπλήρωμαωςπρος1τωνυπόλοιπωνn-1bits δίνειτο
μέτροτου.
•Τοσυμπλήρωμαωςπρος1 ενόςδυαδικούαριθμού
προκύπτειαντικαθιστώνταςόλατα0 με1 καιόλατα1 με0
στοναριθμό:
0 1
1 0
•Αναπαρίστανταιοιαριθμοί-(2n-1 -1)έως2n-1
-1
•Παραδείγματααναπαράστασηςμε8 bit
+5 = 00000101
-5 = 11111010
•Το0 αναπαρίσταταιμεδύοτρόπους: 00…00 και11…11
Αναπαράστασησυμπληρώματοςως
προς2
•Χρησιμοποιείταισυνήθωςστιςσύγχρονεςυλοποιήσειςγιατην
αναπαράστασηαρνητικώναριθμών.
•ΑντοMSB είναι0 οαριθμόςείναιθετικόςκαιτομέτροτου
δίνεταιαπόταυπόλοιπαn-1 bit.
•ΑντοMSB είναι1 οαριθμόςείναιαρνητικός.
•Γιαναβρούμετομέτροτουαριθμούπρέπειναυπολογίσουμε
τοσυμπλήρωμαωςπρος2όλωντωνψηφίωντου.
•Γιατονυπολογισμότουσυμπληρώματοςωςπρος2:
•Πώςγίνεται:
1.Παίρνουμετοσυμπλήρωματουαριθμούωςπρος1, δηλαδή
•αντικαθιστούμεκάθε1 με0 καικάθε0 με1.
2.Προσθέτουμε1
3.Ανπροκύψεικρατούμενοστοαριστερότεροbit τοαγνοούμε.
Αναπαράστασησυμπληρώματοςως
προς2 (συνέχ.)
•Παράδειγμααναπαραστάσεων8 bit
21 = 00010101
-21 = 11101010 +1 = 11101011
•Ποιοςείναιοαριθμόςπουαναπαρίσταταιως11100110 (-
26).
–Οαριθμόςείναιαρνητικός(MSB=1). Γιαναβρούμετομέτροτου
αριθμούπαίρνουμετοσυμπλήρωμαωςπρος2:
–00011001+1 = 00011010= 26
(10)
•Ομέγιστοςθετικόςπουμπορείνααναπαρασταθείμεn bit
είναιο2n-1
-1
•Οελάχιστοςαρνητικόςπουμπορείνααναπαρασταθείμεn
bitείναιο-2n-1
•Π.χ. με4 bit, αναπαρίστανταιοιαριθμοίαπό-8έως+7
•Τομηδέναναπαρίσταταιμεμοναδικότρόπο: 00…00.
Πρόσθεσηστηνπαράσταση
συμπληρώματοςωςπρος2
•Ηπρόσθεσηδυοαριθμώνστηνπαράστασησυμπληρώματοςωςπρος2
γίνεταιαπευθείας, ανεξάρτητααπότοπρόσημότουςκαιχωρίςκαμία
μετατροπή.
•Ηδιαδικασίατηςπρόσθεσηςείναιηίδιαμεαυτήστηνπαράστασηθετικών
αριθμών.
•Ανυπάρξεικρατούμενοαπότηνπρόσθεσητωνποιοσημαντικώνψηφίων
αυτόαγνοείται.
•ΓιατηναφαίρεσηενόςαριθμούB απόένανA, προσθέτουμεστονΑτο
συμπλήρωματουB ωςπρος2.
•Παράδειγμα: Ναεκτελεστείηαφαίρεση7-5(=7+ (-5)) χρησιμοποιώντας
τηναριθμητικήτουσυμπληρώματοςωςπρος2 μεπαραστάσειςαριθμών
8 bit.
7= 00000111
Αναπαράστασητου-5:
+5 = 00000101
-5 = 11111010+1 = 11111010
00000111+ 11111011= 0010 = 2(τοκρατούμενοαγνοείται).
Αναπαράστασησυμπληρώματοςως
προς2: Παράδειγμα(συνέχ.)
Ναεκτελεστείηπράξη5-7 μεπαραστάσειςτων
4 bit:
5 = 0101
Συμπλήρωμαωςπρος2 του7: 1001
0101 + 1001 = 1110
Γιαναβρούμετομέτροτου1110 παίρνουμετο
συμπλήρωμαωςπρος2: 0001+1 = 0010 =
2(10)
Υπερχείλιση
•Κατάτηνεκτέλεσηπράξεων(πρόσθεσης,
πολλαπλασιασμού) μεταξύαριθμώνπου
αναπαρίστανταιμεσυγκεκριμένοαριθμόψηφίων
είναιδυνατόνναπροκύψειυπερχείλιση.
•Παράδειγμα: 0111 + 0111 = 1110 (σφάλμαλόγω
υπερχείλισης)
•Κανόναςυπερχείλισηςστηνπαράσταση
συμπληρώματοςωςπροςδύο:
–Ανπροστεθούνδυοαριθμοίμετοίδιοπρόσημο, τότε
προκύπτειυπερχείλισηανκαιμόνοαντοαποτέλεσμα
έχειτοαντίθετοπρόσημο.