Παράσταση τιμών δεδομένων

38
Χατζηγεωργίου Αλέξανδρος: Παράσταση χαρακτήρων (char στην C, Pascal, Java) Πιο συνηθισμένη μορφή γραπτής επικοινωνίας είναι με σύμβολα Α, Β, . . . , Ζ, a, b, . . . , z, 0, . . . , 9, +, -, *, /, $, & κλπ Εσωτερική αναπαράσταση: Κάθε χαρακτήρας ακέραιο αριθμό (ordinal number) Η απεικόνιση των χαρακτήρων σε ακεραίους ονομάζεται κώδικας χαρακτήρων Κώδικας ASCII (American Standard Code for Information Interchange) 7 bits 2 7 = 128 χαρακτήρες Παράσταση τιμών δεδομένων

description

Παράσταση τιμών δεδομένων. Χατζηγεωργίου Αλέξανδρος:. Παράσταση χαρακτήρων ( char στην C, Pascal, Java) Πιο συνηθισμένη μορφή γραπτής επικοινωνίας είναι με σύμβολα Α, Β, . . . , Ζ, a, b, . . . , z, 0, . . . , 9, +, -, *, /, $, & κλπ Εσωτερική αναπαράσταση : - PowerPoint PPT Presentation

Transcript of Παράσταση τιμών δεδομένων

Page 1: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παράσταση χαρακτήρων (char στην C, Pascal, Java)

• Πιο συνηθισμένη μορφή γραπτής επικοινωνίας είναι με σύμβολα

• Α, Β, . . . , Ζ, a, b, . . . , z, 0, . . . , 9, +, -, *, /, $, & κλπ

Εσωτερική αναπαράσταση:

Κάθε χαρακτήρας ακέραιο αριθμό (ordinal number)

Η απεικόνιση των χαρακτήρων σε ακεραίους ονομάζεται κώδικας χαρακτήρων

Κώδικας ASCII (American Standard Code for Information Interchange)

7 bits 27 = 128 χαρακτήρες

Διαταξινομημένη σειρά: Αν ‘C’ μετά το ‘Α’ τότε ord(‘C’) > ord(‘A’)

Ικανοποιητικός για αγγλικά, ανεπαρκής για άλλες γλώσσες

Λύση: Χρήση 8 δυφίων (Για τα ελληνικά κώδικας ΕΛΟΤ 928)

Παράσταση τιμών δεδομένων

Page 2: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:ΕΛΟΤ 928

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 NUL DLE 0 @ ΐ Π π

1 SOH DC1 ! 1 A Α Ρ ρ

2 DC2 “ 2 B Β ς

3 DC3 # 3 C Γ Σ σ

4 $ 4 D Δ Τ τ

5 % 5 E Ε Υ υ

6 & 6 F Ζ Φ φ

7 7 G Η Χ χ

8 8 H Θ Ψ ψ

9 9 I Ι Ω ω

A : J Κ

B ; K

Έστω ο char (41)HEX

Page 3: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Κώδικας UNICODE

• Υποστηρίζεται από την Java, Windows NT

• Κάθε χαρακτήρας τακτικό αριθμό 16 δυφίων (σημείο κώδικα)

• 216 65536

• Οι πρώτοι 128 χαρακτήρες είναι ίδιοι με τον ASCII

• Ομάδες χαρακτήρων. Λατινικά: 336 σημεία, Ελληνικά 144, εβραϊκά 112 κ.ο.κ.

• Ούτε ο UNICODE είναι επαρκής: Στον πλανήτη χρησιμοποιούνται γύρω στους 200.000 χαρακτήρες !!!

Παράσταση τιμών δεδομένων

Page 4: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Αριθμητική Πεπερασμένης Ακρίβειας: Καθώς η ποσότητα της διαθέσιμης μνήμης για την αποθήκευση ενός αριθμού είναι καθορισμένη, οι αριθμοί που μπορούν να χρησιμοποιηθούν μπορούν να αναπαρασταθούν με έναν καθορισμένο αριθμό ψηφίων

• Έστω ότι για την αναπαράσταση θετικών ακεραίων διατίθενται μόνο τρία δεκαδικά ψηφία. Με αυτό τον περιορισμό δεν μπορούμε να εκφράσουμε :

• Αριθμούς μεγαλύτερους από 999

• Αρνητικούς αριθμούς

• Κλάσματα

• Μιγαδικούς αριθμούς

Αριθμητική Υπολογιστών

Page 5: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Οι αριθμοί πεπερασμένης ακρίβειας δεν είναι κλειστοί ως προς καμία από τις τέσσερις βασικές πράξεις :

600 + 600 = 1200 (πολύ μεγάλος)

003 – 005 = - 2 (αρνητικός)

050 x 050 = 2500 (πολύ μεγάλος)

007 / 002 = 3.5 (όχι ακέραιος)

• Σε ορισμένες περιπτώσεις έχουμε σφάλμα υπερχείλισης (overflow) δηλαδή το αποτέλεσμα είναι μεγαλύτερο από τον μεγαλύτερο αριθμό του συνόλου είτε σφάλμα ανεπάρκειας (underflow) όταν το αποτέλεσμα είναι μικρότερο από τον μικρότερο αριθμό του συνόλου

• Σε άλλες περιπτώσεις το αποτέλεσμα απλώς δεν ανήκει στο σύνολο

Πεπερασμένη ακρίβεια

Page 6: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Ένας δεκαδικός αριθμός αποτελείται από μία ακολουθία δεκαδικών ψηφίων και ίσως από μία υποδιαστολή. Οποιοσδήποτε αριθμός εκφράζεται ως :

Συστήματα

in

kiidNumber 10

• Π.χ. 3347.4 = 3x103 + 3x102 + 4x101 + 7x100 + 4x10-1

• Το σύστημα αυτό ονομάζεται δεκαδικό, λόγω του ότι ως εκθετική βάση έχει επιλεγεί το 10

• Αντίστοιχα αριθμητικά συστήματα με βάση το 2, 8 και 16 είναι το δυαδικό, οκταδικό, δεκαεξαδικό

• Ένα αριθμητικό σύστημα με βάση το k απαιτεί k διαφορετικά σύμβολα για την αναπαράσταση των ψηφίων

Page 7: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Ο γενικός κανόνας παράστασης σε ένα θεσιακό σύστημα έχει ως εξής: Ο αριθμός:

αn-1rn-1 + αn-2rn-2 + … + α1r1 + α0r0 + α-1r-1 + … + α-mr-m

συμβολίζεται ως: αn-1 αn-2 … α1 α0 α-1…α-m

Ως βάση ή ρίζα ενός θεσιακού συστήματος ορίζεται το πλήθος των διαφορετικών ψηφίων που χρησιμοποιούνται για την παράσταση των αριθμών

• Δεκαδικό: 0 1 2 3 4 5 6 7 8 9

• Δυαδικό: 0 1

• Οκταδικό : 0 1 2 3 4 5 6 7

• Δεκαεξαδικό : 0 1 2 3 4 5 6 7 8 9 Α Β C D E F

Θεσιακά Συστήματα

Page 8: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

(1673.42) = 1x103 + 6x102 + 7x101 + 3x100 + 4x10-1 + 2x10-2

(100110)2 = 1x25 + 0x24 + 0x23 + 1x22 + 1x21 + 0x20 = (38)10

(372)8 = 3x82 + 7x81 + 2x80 = (250)10

(Α34F) = Ax163 + 3x162 + 4x161 + Fx160 = (41807)10

Παραδείγματα

Page 9: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Από δεκαδικό σε δυαδικό (Διαδοχικές διαιρέσεις με το 2) :

Μετατροπές

7 6 5 1

3 8 2 0

1 9 1 1

9 5 1

4 7 1

2 3 1

1 1 1

5 1

2 0

1 1

0 1 0 1 1 1 1 1 1 0 1 = 765

Page 10: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Από δεκαδικό σε oκταδικό (Διαδοχικές διαιρέσεις με το 8) :

Μετατροπές

7 6 5 3 5

9 5 6 4

1 1 9 7

1 4 6

1 1

( 1 6 7 4 5 )8

Page 11: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Από δεκαδικό σε oκταδικό :

• Ευκολότερα με πίνακες μετατροπής από δυαδικό σε οκταδικό

Μετατροπές

Δυαδικό Οκταδικό Δυαδικό Οκταδικό

0 0 0 0 1 0 0 4

0 0 1 1 1 0 1 5

0 1 0 2 1 1 0 6

0 1 1 3 1 1 1 7

(411)10 = (1 1 0 0 1 1 0 1 1)2

6 3 3

Page 12: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Από δεκαδικό σε δεκαεξαδικό :

Μετατροπές

(431)10 = (1 1 0 1 0 1 1 1 1)2

1 A F

Page 13: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Οι λέξεις στη μνήμη και οι καταχωρητές περιέχουν μόνο bits

• Πρέπει με κάποιο τρόπο να κωδικοποιήσουμε τα πρόσημα των αριθμών και την ύπαρξη υποδιαστολής

• Στους αριθμούς σταθερής υποδιαστολής (fixed point numbers) η υποδιαστολή θεωρείται ότι βρίσκεται πάντα σε σταθερό σημείο της λέξης

Ανάλογα με το πλήθος των bits διακρίνουμε:

βραχείς (short) 8 bits

απλής ακρίβειας (single precision) 16 bits

διπλής ακρίβειας (double precision) 32 bits

εκτεταμένης ακρίβειας (long) 64 bits

Παράσταση τιμών δεδομένων

Page 14: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Έστω ένας υπολογιστής με μήκος λέξης 32 bits.

0 bit (δυφίο)

1010 nibble (τετράδα)

01110001 byte (δυφιοσυλλαβή)

0111000101110001 half-word

01110001011100010111000101110001 word (λέξη)

Στη συνέχεια θα εξετάσουμε δυνατούς τρόπους αναπαράστασης αριθμών με χρήση μιας τετράδας

Ορολογία

Page 15: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παράσταση ακεραίων τιμών

Δεν υπάρχει ούτε πρόσημο ούτε υποδιαστολή

Ένας αριθμός n bits μπορεί να αναπαραστήσει τους αριθμούς από 0 έως 2n-1

Παράσταση μέτρου

0000 00001 10010 20011 30100 40101 50110 60111 7

1000 81001 91010 101011 111100 121101 131110 141111 15

Χρήση για αναπαράσταση διευθύνσεων (βλ. pointers στην C)

Page 16: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παράσταση κλασματικών τιμών

Η υποδιαστολή θεωρείται ότι βρίσκεται πριν από το περισσότερο σημαντικό δυφίο

Ένας αριθμός n bits μπορεί να αναπαραστήσει τους αριθμούς από 0 έως (2n-1)/2n

Παράσταση μέτρου

0000 .00000001 .0625 (2-4)0010 .125 (2-3)0011 .18750100 .25010101100111

1000 0.51001101010111100110111101111 0.9375 (2-1 + 2-2 + 2-3 + 2-4)

H παράσταση αυτή ΔΕΝ χρησιμοποιείται στους υπολογιστές

Page 17: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Το πιο σημαντικό bit (ΜSB) της ακολουθίας χρησιμοποιείται για τον προσδιορισμό του προσήμου (0: +, 1: - )

• Τα υπόλοιπα (n-1) bits προσδιορίζουν το μέτρο του αριθμού σε δυαδική μορφή

• Για n= 8 bits, Χ10 = 7 Χ2 = 00000111

Σύστημα πρόσημο και μέτρο

Χ10 = - 7 Χ2 = 10000111

Page 18: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παράσταση ακεραίων τιμών

Υποτίθεται ότι δεν υπάρχει υποδιαστολή.

Στην γενική περίπτωση αναπαριστώνται οι [-(2n-1-1), +(2n-1-1) ]

Παράσταση προσήμου και μέτρου

0000 00001 +10010 +20011 +30100 +40101 +50110 +60111 +7

1000 01001 -11010 -21011 -31100 -41101 -51110 -61111 -7

Page 19: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παράσταση κλασματικών τιμών

Η υποδιαστολή θεωρείται ότι βρίσκεται αμέσως μετά το περισσότερο σημαντικό ψηφίο

Παράσταση προσήμου και μέτρου

0000 + .0000001 + .125 (2-3)0010 + .250 (2-2)0011 + .3750100010101100111 + .875

1000 + .0001001 - .1251010 - .2501011 - .3751100110111101111 - .875 (2-1 + 2-2 + 2-3)

Page 20: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Μειονεκτήματα

1) Το μηδέν αναπαρίσταται με δύο διαφορετικές ακολουθίες (0000, 1000). Επιπλέον το hardware πρέπει να ξέρει ότι το μηδέν αναπαρίσταται διττά

2) Απαιτούνται διαφορετικά κυκλώματα για την πρόσθεση και την αφαίρεση καθώς τα αποτελέσματα των πράξεων εξαρτώνται από το πρόσημο

Κατά συνέπεια …….

Η παράσταση αυτή δεν χρησιμοποιείται πολύ συχνά

Παράσταση προσήμου και μέτρου

Page 21: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:Αριθμητική Δυαδικών

Πρόσθεση δυαδικών :

Α + Β Αποτέλεσμα Κρατούμενο

0 0 0 0

0 1 1 0

1 0 1 0

1 1 1 1

Page 22: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:Αριθμητική Δυαδικών

Πρόσθεση δυαδικών (πρόσημο και μέτρο) :

1ος Προσθετέος 0 0 1 1 1 (7)10

2ος Προσθετέος : 0 1 0 1 0 (10)10

Άθροισμα : 1 0 0 0 1 (17)10

Κρατούμενο : 0 1 1 1 0

Page 23: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Το συμπλήρωμα ως προς ένα μιας δυαδικής ακολουθίας λαμβάνεται αλλάζοντας όλα τα δυφία από μηδέν σε ένα και αντιστρόφως

1 0 0 1 0 0 1 1

0 1 1 0 1 1 0 0

Παράσταση ακεραίων τιμών

Οι αρνητικοί αναπαριστώνται ως το συμπλήρωμα ως προς ένα των θετικών

Στην γενική περίπτωση αναπαριστώνται οι [-(2n-1-1), +(2n-1-1) ]

Παράσταση συμπληρώματος ως προς ένα

0000 00001 +10010 +20011 +30100 +40101 +50110 +60111 +7

1000 -71001 -61010 -51011 -41100 -31101 -21110 -11111 -0

Page 24: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παράσταση κλασματικών τιμώνΗ υποδιαστολή θεωρείται ότι βρίσκεται αμέσως μετά το περισσότερο σημαντικό δυφίοΑν μία ακολουθία αρχίζει από 0 πρόκειται για θετικό αριθμό, αλλιώς για αρνητικό.Οι θετικές ακολουθίες παριστάνουν τους ίδιους αριθμούς με το σύστημα πρόσημο και μέτρο. Οι αρνητικές διαφέρουν

Παράσταση συμπληρώματος ως προς ένα

0000 + .0000001 + .125 (2-3)0010 + .250 (2-2)0011 + .3750100010101100111 + .875

1000 - .875 (2-1 + 2-2 + 2-3)10011010101111001101 - .2501110 - .1251111 - .000

Page 25: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Αφαίρεση

Παρόλο που και σε αυτή την παράσταση υπάρχουν δύο ακολουθίες που αναπαριστούν το μηδέν, τα κυκλώματα του υλικού είναι απλούστερα

Η ‘’λογική’’ της αφαίρεσης είναι η ακόλουθη:

βρες το συμπλήρωμα του αφαιρετέου

πρόσθεσε το συμπλήρωμα στο μειωτέο

if η πρόσθεση δώσει τελικό κρατούμενο (1)

then πρόσθεσε το κρατούμενο στο άθροισμα (στο LSB)

Παράσταση συμπληρώματος ως προς ένα

Page 26: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παραδείγματα Αφαίρεσης

Παράσταση συμπληρώματος ως προς ένα

+ 510 01012 01012

- +

- 210 11012 (συμπλ ως προς ένα) 00102

+ 710 01112

- 410 10112 10112

- +

310 00112 (συμπλ ως προς ένα) 11002

- 710 κρατούμενο : 1 011121

+

10002 = -710

Page 27: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Οι αριθμητικές πράξεις υλοποιούνται ευκολότερα

• Το πιο σημαντικό bit (ΜSB) χρησιμοποιείται για τον προσδιορισμό του προσήμου

• Όταν MSB = 0, τότε ο αριθμός είναι θετικός ή μηδέν και το μέτρο δίνεται από τα υπόλοιπα (n-1) ψηφία του αριθμού

• Όταν ΜSB = 1, ο αριθμός είναι αρνητικός και το μέτρο του αριθμού δίνεται από το συμπλήρωμα ως προς 2 του συνόλου των ψηφίων του αριθμού

• To συμπλήρωμα ως προς 2 βρίσκεται αλλάζοντας όλα τα δυφία (0 σε 1 και 1 σε 0) και προσθέτοντας 1 στο αποτέλεσμα

• για n=6 bits, Χ10 = +17 =>

Χ2= 010001

Αριθμητική Συμπληρώματος του δύο

Page 28: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• για n=6 bits, Χ10 = - 17 =>

Χ2= 101111

Αρνητικοί Αριθμοί

Εύρεση συμπληρώματος ως προς 2 του αριθμού 17 :

Χ = 17 -> 010001

101110 (Αντιστροφή όλων των bit)

101111 (Προσθήκη του 1)

Page 29: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παράσταση ακεραίων τιμών

Στην γενική περίπτωση αναπαριστώνται οι [-2n-1, +2n-1-1 ]

(Π.χ στην C ενας int λαμβάνει τιμές από [-32768, 32767 ]

Παράσταση συμπληρώματος ως προς δύο

0000 00001 +10010 +20011 +30100 +40101 +50110 +60111 +7

1000 -81001 -71010 -61011 -51100 -41101 -31110 -21111 -1

Άρα: Αν το MSB είναι 1 τότε πρόκειται για αρνητικό αριθμό

Το κατεξοχήν αριθμητικό σύστημα που χρησιμοποιείται στους υπολογιστές

Page 30: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παράσταση κλασματικών τιμώνΗ υποδιαστολή θεωρείται ότι βρίσκεται αμέσως μετά το περισσότερο σημαντικό δυφίοΑν μία ακολουθία αρχίζει από 0 πρόκειται για θετικό αριθμό, αλλιώς για αρνητικό.Οι θετικές ακολουθίες παριστάνουν τους ίδιους αριθμούς με το σύστημα πρόσημο και μέτρο. Οι αρνητικές διαφέρουν

Παράσταση συμπληρώματος ως προς δύο

0000 + .0000001 + .125 (2-3)0010 + .250 (2-2)0011 + .3750100010101100111 + .875

1000 - 1.01001 - 0.875101010111100110111101111 - .125

Page 31: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Το αλγεβρικό άθροισμα δύο αριθμών στην παράσταση συμπληρώματος του 2, προκύπτει ως το δυαδικό άθροισμα των δύο αριθμών, αγνοώντας το τυχόν κρατούμενο

Αριθμητική Συμπληρώματος του 2

+12 001100

+17 010001

----- ---------

29 011101

+12 001100

-17 101111

----- ---------

-5 111011

- 12 110100

+17 010001

----- ---------

+5 000101Αγνοείται το κρατούμενο 1

- 12 110100

- 17 101111

----- ---------

- 29 100011Αγνοείται το κρατούμενο 1

Page 32: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Αριθμητικές πράξειςΤο υλικό των υπολογιστών διαθέτει ένα κύκλωμα αθροιστή που χρησιμοποιείται τόσο για την πρόσθεση όσο και για την αφαίρεση

Αλγόριθμος αφαίρεσης

βρες το συμπλήρωμα του αφαιρετέου ως προς 2 ;

πρόσθεσε το συμπλήρωμα στο μειωτέο ;

// αγνοείται το τελικό κρατούμενο αν υπάρχει

Παράσταση συμπληρώματος ως προς δύο

Page 33: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Παραδείγματα Αφαίρεσης

Παράσταση συμπληρώματος ως προς δύο

- 810 10002 10002

- +

- 610 10102 (συμπλ ως προς δύο) 01102

- 210 11102

- 210 11102 11102

- +

310 00112 (συμπλ ως προς δύο) 11012

- 510 κρατούμενο (αγν) : 1 10112

Page 34: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

• Κάθε υπολογιστής εκτός από τον συσσωρευτή Α διαθέτει έναν επιπρόσθετο καταχωρητή Β που θεωρείται ως επέκταση του Α

• Οι καταχωρητές Β και Α μπορούν να θεωρηθούν ως ένας διπλού μήκους καταχωρητής

• Αλγόριθμος Πολλαπλασιασμού :

Αρχικά ο πολλαπλασιαστής φορτώνεται στο συσσωρευτή Α και ο πολλαπλασιαστέος σε ένα βοηθητικό καταχωρητή Υ :

Πολλαπλασιασμός - Διαίρεση

Β Α

πολλαπλασιαστής

Υ

πολλαπλασιαστέος

Page 35: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Για πολ/στέο > 0 και πολ/στη > 0

{Β} = 0for(i=1;i<=n;i++) { if LSB(πολ/στη) == 1 then πρόσθεσε τον πολ/στέο στο MS μέρος του γινομένου {B}; shift_right {BA} }

Πολλαπλασιασμός - Διαίρεση

Page 36: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

510 x 610 = 3010 Y = 0110

B A1. 0000 0101 (αρχικά: φόρτωση πολ/στη στο Α)2. 0110 0101 (LSB{A} = 1 άρα προσθ Υ στο {Β} ) 0011 0010 (shift left {BA} ) i=13. 0001 1001 i=24. 0111 1001 0011 1100 i=35. 0001 1110 i=4

(00011110)2 = (30)10

Παράδειγμα για n=3 bits: 310 x 410 (A = 011, Y = 100)

Πολλαπλασιασμός - Διαίρεση

Page 37: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Διαίρεση (Θεωρούμε μόνο θετικούς ακεραίους για απλότητα)• Στο {ΒΑ} φορτώνεται ο διαιρετέος• Στον Υ φορτώνεται ο διαιρέτης• Όταν τελειώσει η διαίρεση : πηλίκο στον Α, υπόλ. στον Βfor(i=1;i<=n;i++){ shift left {BA} if (διαιρέτης <= Β) then { πρόσθεσε συμπλήρωμα ως προς 2 του διαιρέτη στο Β κάνε το LSB του Α ίσο με 1 }}

Πολλαπλασιασμός - Διαίρεση

Page 38: Παράσταση τιμών δεδομένων

Χατζηγεωργίου Αλέξανδρος:

Χατζηγεωργίου Αλέξανδρος:

Διαίρεση 710 / 210 πηλίκο = 310 υπόλοιπο = 110

Y = 0010, Y’ = 1110 Β Α

0000 0111 αρχικά {BA} = διαιρέτης 0000 1110 shift left i=1 0001 1100 shift left i=2 0011 1000 shift left

+ 1110 (διαιρέτης <=Β) 0001 1001 i=3

0011 0010 shift left + 1110 (διαιρέτης <=Β) 0001 0011 i=4 υπόλοιπο πηλίκο

Παράδειγμα για n=5 : Διαίρεση 10 / 4

Πολλαπλασιασμός - Διαίρεση