Αριθµητική υπολογιστών Μιχάλης ρακόπουλος Υπολογιστική Επιστήµη & Τεχνολογία, #03 1
εκαδικό σύστηµα αρίθµησης Βάση το 10. 10 ψηφία: 0 1 2 3 4 5 6 7 8 9 1 δεκαδικό ψηφίο εκφράζει 1 από 10 πιθανές επιλογές µετράει 10 πράγµατα έχει 10 διακριτές τιµές. 2 δεκαδικά ψηφία εκφράζουν 1 από 100 πιθανές επιλογές µετράνε 100 πράγµατα έχουν 100 διακριτές τιµές. 3 δεκαδικά ψηφία... Μέτρηµα µε δυνάµεις του 10: 1821 = 1 1000 + 8 100 + 2 10 + 1 1 = 1 10 3 + 8 10 2 + 2 10 1 + 1 10 0 Αριθµητική υπολογιστών Μ. ρακόπουλος 2 υαδικό σύστηµα αρίθµησης Βάση το 2. 2 ψηφία: 0 1 (bits) 1 δυαδικό ψηφίο εκφράζει 1 από 2 πιθανές επιλογές µετράει 2 πράγµατα έχει 2 διακριτές τιµές. 2 δυαδικά ψηφία εκφράζουν 1 από 4 πιθανές επιλογές µετράνε 4 πράγµατα έχουν 4 διακριτές τιµές. 3 δυαδικά ψηφία... Μέτρηµα µε δυνάµεις του 2: 11001 2 = 1 16 + 1 8 + 0 4 + 0 2 + 1 1 Οι ψηφιακές συσκευές χρησιµοποιούν το δυαδικό σύστηµα. = 1 2 4 + 1 2 3 + 0 2 2 + 0 2 1 + 1 2 0 Αριθµητική υπολογιστών Μ. ρακόπουλος 3 Μετατροπή ϐάσης: δυαδικοί σε δεκαδικούς 1ος τρόπος 2ος τρόπος 1101 2 = 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 1 8 + 1 4 + 0 2 + 1 1 = 13 Γραµµή Bit b d 1 = 1, d n+1 = 2 d n + b n+1, n > 1 1 1 1 2 1 3 3 0 6 4 1 13 Αριθµητική υπολογιστών Μ. ρακόπουλος 4 2
Μετατροπή ϐάσης: δεκαδικοί σε δυαδικούς 1ος τρόπος: ανάλυση σε δυνάµεις του 2. 42 = 32 + (10) = 32 + 8 + (2) = 32 + 8 + 2 = 2 5 + 2 3 + 2 1 = 101010 2 2ος τρόπος: διαδοχικές διαιρέσεις µε 2 (µόνο για ακεραίους). Πηλίκο 42 21 10 5 2 1 0 Υπόλοιπο 0 1 0 1 01010 2 τα υπόλοιπα µε αντίστροφη σειρά Αριθµητική υπολογιστών Μ. ρακόπουλος 5 Μετατροπή ϐάσης: κλασµατικό µέρος 1ος τρόπος: ανάλυση σε δυνάµεις του 1 2. 0.625 = 0.5 + 0.125 = 1 2 1 + 0 2 2 + 1 2 3 = 0.101 2 2ος τρόπος: διαδοχικοί πολλαπλασιασµοί µε 2 και αποκοπή ακέραιου µέρους µέχρις ότου το κλασµατικό µέρος να γίνει 0. Π.χ. για το 0.625: εκαδικός 2 υαδικός 0.625 1.25 1 0.1 2 0.25 0.5 < 1 0.10 2 0.5 1.0 1 0.101 2 0.0 τέλος 0.101 2 Πώς παριστάνεται στο δυαδικό σύστηµα ο δεκαδικός 0.1 10? Αριθµητική υπολογιστών Μ. ρακόπουλος 6 Αλλα συστήµατα αριθµών Οι δυαδικοί αριθµοί είναι «ογκώδεις». Στην πληροφορική συχνά χρησιµοποιούνται οι ϐάσεις: 8: Οκταδικοί 8 ψηφία: 0 1 2 3 4 5 6 7 16: εκαεξαδικοί 16 ψηφία: 0 9, A B C D E F Μετατροπή ανάµεσα σε δυαδικό-οκταδικό: κάθε δυαδική τριάδα αντιστοιχεί σε ένα οκταδικό ψηφίο και το αντίστροφο. 0 0 0 1 0 1 0 0 1 0 0 0. 1 0 0 1 4 5 1 0. 5 5 4 Μετατροπή ανάµεσα σε δυαδικό-δεκαεξαδικό: κάθε δυαδική τετράδα αντιστοιχεί σε ένα 16-δικό ψηφίο και το αντίστροφο. 7 B A 3. B C 4 {}}{ 1 1 1 0 1 0 0. 1 1 1 0 0 0 1 0 0 Αριθµητική υπολογιστών Μ. ρακόπουλος 7 3
Bits & Bytes Bit: η µικρότερη µονάδα πληροφορίας. Αντιπροσωπεύει µία από 2 πιθανές καταστάσεις: ναι/όχι, αληθές/ψευδές, on/off, άνδρας/γυναίκα,... Ολα τα παραπάνω, κωδικοποιούνται σαν 0 ή 1: δυαδικό ψηφίο (bit) {0, 1} Το δυαδικό σύστηµα επιτρέπει την κατασκευή εξαρτηµάτων που έχουν µόνο 2 καταστάσεις: υψηλή/χαµηλή τάση, κυκλοφορία ϱεύµατος (chips) παρουσία ή όχι ηλεκτρικόυ ϕορτίου (flash) ϕορά µαγνητικού πεδίου (δίσκοι) ανάκλαση ή όχι ϕωτεινής δέσµης (cd-rom, dvd). Η πληροφορία αποθηκεύεται και επεξεργάζεται σαν bits Byte: 8 bits που λειτουργούν σαν µια ενιαία µονάδα. Αριθµητική υπολογιστών Μ. ρακόπουλος 8 Υπολογιστική αναπαράσταση ακεραίων υαδικοί αριθµοί εκφρασµένοι µε m bits αʹ. Προσηµασµένο µέγεθος (signed magnitude) Τα υπόλοιπα m 1 bits για το µέγεθος (απόλυτη τιµή). π.χ. 00101010 2 = 42 10 και 10101010 2 = 42 10 ύο µηδενικά: 00000000 2 και 10000000 2. Συµπλήρωµα ως πρός ένα (ones complement) Ο αντίθετος προκύπτει µε αντικατάσταση των 0 από 1 και των 1 από 0 (και για το πρόσηµο). Ισοδύναµα: αφαίρεση από τον 111... 1 2 (m bits). π.χ. 00101010 2 = 42 10 και 11010101 2 = 42 10 ύο µηδενικά: 00000000 2 και 11111111 2. Αριθµητική υπολογιστών Μ. ρακόπουλος 9 Υπολογιστική αναπαράσταση ακεραίων (συνεχ.) υαδικοί αριθµοί εκφρασµένοι µε m bits αʹ. Συµπλήρωµα ως πρός δύο (two s complement) Ο αντίθετος από συµπλήρωµα ως προς ένα µε πρόσθεση της µονάδας (τυχόν κρατούµενο στο αριστερό bit αγνοείται). Ισοδύναµα: αφαίρεση από τον 100... 0 2 (m + 1 bits). π.χ. 00101010 2 = 42 10 και 11010110 2 = 42 10 Μια αναπαράσταση για το µηδέν: 00000000 2, αλλά: Ποιός είναι ο αντίθετος του 10000000 2? Εχει επικρατήσει στους σύγχρονους υπολογιστές. (πλήθος αρνητικών) = (πλήθος ϑετικών) + 1 Αριθµητική υπολογιστών Μ. ρακόπουλος 10 4
Υπολογιστική αναπαράσταση ακεραίων (συνεχ.) υαδικοί αριθµοί µε m bits αʹ. Πλεόνασµα (excess) κατά 2 m 1 Κάθε αριθµός παριστάνεται από το άθροισµα της πραγµατικής του τιµής µε το 2 m 1. Π.χ. για m = 8 το σύστηµα λέγεται πλεονασµα-128 και οι αριθµοί 128 έως +127 απεικονίζονται στους 0 έως 255. Είναι το συµπλήρωµα ως προς το 2 µε το πρόσηµο αντεστραµµένο: 10101010 2 = 42 10 και 01010110 2 = 42 10 Χρησιµοποιείται στην παράσταση πραγµατικών. Αριθµητική υπολογιστών Μ. ρακόπουλος 11 Υπολογιστική αναπαράσταση ακεραίων (συνεχ.) Στα παραπάνω συστήµατα αναπαράστασης, ένα εύρος ϑετικών τιµών απεικονίζεται σε ϑετικές και αρνητικές τιµές. Για m = 3 bits: Bits Μη-προσηµασµένη τιµή προσηµασµένο µέγεθος συµπλ.-1 συµπλ.-2 πλεόνασµα-4 000 0 +0 +0 0 4 001 1 +1 +1 +1 3 010 2 +2 +2 +2 2 011 3 +3 +3 +3 1 100 4 0 3 4 0 101 5 1 2 3 +1 110 6 2 1 2 +2 111 7 3 0 1 +3 Αριθµητική υπολογιστών Μ. ρακόπουλος 12 Αριθµητική στο δυαδικό σύστηµα Οπως και στο δεκαδικό σύστηµα. Π.χ. η πρόσθεση γίνεται ψηφίο-προς-ψηφίο ξεκινώντας από τα δεξια. Αν στην πρόσθεση προκύψει κρατούµενο στο αριστερό bit: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 10 στο συµπλήρωµα ως προς ένα προστίθεται στο δεξιότερο bit του αποτελέσµατος (end-around carry). στο συµπλήρωµα ως προς δύο αγνοείται. εκαδικό συµπλ-1 συµπλ-2 Προσθετέος 10 00001010 00001010 Αφαιρετέος + 3 11111100 11111101 Αποτέλεσµα +7 1 00000110 1 00000111 00000111 00000111 Αριθµητική υπολογιστών Μ. ρακόπουλος 13 Υπολογιστική αναπαράσταση πραγµατικών αριθµών Η ενότητα 4.3 από το ϐιβλίο των Van Loan και Fan. Αριθµητική υπολογιστών Μ. ρακόπουλος 14 5