Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Χατζηγεωργίου Αλέξανδρος: Παράσταση χαρακτήρων (char στην C, Pascal, Java) • Πιο συνηθισμένη μορφή γραπτής επικοινωνίας είναι με σύμβολα • Α, Β,..., Ζ,

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Χατζηγεωργίου Αλέξανδρος: Παράσταση χαρακτήρων (char στην C, Pascal, Java) • Πιο συνηθισμένη μορφή γραπτής επικοινωνίας είναι με σύμβολα • Α, Β,..., Ζ,"— Μεταγράφημα παρουσίασης:

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

2 Χατζηγεωργίου Αλέξανδρος: ABCDEF 0 NULDLE 1 SOHDC1 !1AΑΡρ 2 DC2 “2BΒς 3 DC3 #3CΓΣσ 4$4DΔΤτ 5%5EΕΥυ 6&6FΖΦφ 77GΗΧχ 88HΘΨψ 99IΙΩω A:JΚ B;K Έστω ο char (41) HEX

3 Χατζηγεωργίου Αλέξανδρος: Κώδικας UNICODE • Υποστηρίζεται από την Java, Windows NT • Κάθε χαρακτήρας  τακτικό αριθμό 16 δυφίων (σημείο κώδικα) • 2 16  • Οι πρώτοι 128 χαρακτήρες είναι ίδιοι με τον ASCII • Ομάδες χαρακτήρων. Λατινικά: 336 σημεία, Ελληνικά 144, εβραϊκά 112 κ.ο.κ. • Ούτε ο UNICODE είναι επαρκής: Στον πλανήτη χρησιμοποιούνται γύρω στους χαρακτήρες !!! Παράσταση τιμών δεδομένων

4 Χατζηγεωργίου Αλέξανδρος: • Αριθμητική Πεπερασμένης Ακρίβειας: Καθώς η ποσότητα της διαθέσιμης μνήμης για την αποθήκευση ενός αριθμού είναι καθορισμένη, οι αριθμοί που μπορούν να χρησιμοποιηθούν μπορούν να αναπαρασταθούν με έναν καθορισμένο αριθμό ψηφίων • Έστω ότι για την αναπαράσταση θετικών ακεραίων διατίθενται μόνο τρία δεκαδικά ψηφία. Με αυτό τον περιορισμό δεν μπορούμε να εκφράσουμε : • Αριθμούς μεγαλύτερους από 999 • Αρνητικούς αριθμούς • Κλάσματα • Μιγαδικούς αριθμούς η αριθμητική πεπερασμένης ακρίβειας δεν αποτελεί πρόβλημα όσο ερμηνεύουμε με ορθό τρόπο τα αποτελέσματα Αριθμητική Υπολογιστών

5 Χατζηγεωργίου Αλέξανδρος: • Οι αριθμοί πεπερασμένης ακρίβειας δεν είναι κλειστοί ως προς καμία από τις τέσσερις βασικές πράξεις : = 1200 (πολύ μεγάλος) 003 – 005 = - 2(αρνητικός) 050 x 050 = 2500(πολύ μεγάλος) 007 / 002 = 3.5(όχι ακέραιος) • Σε ορισμένες περιπτώσεις έχουμε σφάλμα υπερχείλισης (overflow) δηλαδή το αποτέλεσμα είναι μεγαλύτερο από τον μεγαλύτερο αριθμό του συνόλου είτε σφάλμα ανεπάρκειας (underflow) όταν το αποτέλεσμα είναι μικρότερο από τον μικρότερο αριθμό του συνόλου • Σε άλλες περιπτώσεις το αποτέλεσμα απλώς δεν ανήκει στο σύνολο Πεπερασμένη ακρίβεια

6 Χατζηγεωργίου Αλέξανδρος: • Ένας δεκαδικός αριθμός αποτελείται από μία ακολουθία δεκαδικών ψηφίων (και από μία υποδιαστολή). Οποιοσδήποτε αριθμός εκφράζεται ως : Συστήματα • Π.χ = 3x x x x x10 -1 • Το σύστημα αυτό ονομάζεται δεκαδικό, λόγω του ότι ως εκθετική βάση έχει επιλεγεί το 10 • Αντίστοιχα αριθμητικά συστήματα με βάση το 2, 8 και 16 είναι το δυαδικό, οκταδικό, δεκαεξαδικό • Ένα αριθμητικό σύστημα με βάση το k απαιτεί k διαφορετικά σύμβολα για την αναπαράσταση των ψηφίων

7 Χατζηγεωργίου Αλέξανδρος: Ο γενικός κανόνας παράστασης σε ένα θεσιακό σύστημα έχει ως εξής: Ο αριθμός: α n-1 r n-1 + α n-2 r n-2 + … + α 1 r 1 + α 0 r 0 + α -1 r -1 + … + α -m r -m συμβολίζεται ως:α n-1 α n-2 … α 1 α 0 α -1 …α -m Ως βάση ή ρίζα ενός θεσιακού συστήματος ορίζεται το πλήθος των διαφορετικών ψηφίων που χρησιμοποιούνται για την παράσταση των αριθμών • Δεκαδικό: • Δυαδικό: 0 1 • Οκταδικό : • Δεκαεξαδικό : Α Β C D E F Θεσιακά Συστήματα

8 Χατζηγεωργίου Αλέξανδρος: ( ) = 1x x x x x x10 -2 (100110) 2 = 1x x x x x x2 0 = (38) 10 (372) 8 = 3x x x8 0 = (250) 10 (Α34F) = Ax x x Fx16 0 = (41807) 10 Παραδείγματα

9 Χατζηγεωργίου Αλέξανδρος: Οι αριθμητικές πράξεις σε σύστημα με βάση r ακολουθούν τους ίδιους κανόνες όπως στο δεκαδικό. Μόνη ενδιαφέρουσα περίπτωση η αφαίρεση … Απλές πράξεις σε σύστημα με βάση r borrow borrow

10 Χατζηγεωργίου Αλέξανδρος: και ο πολλαπλασιασμός … Απλές πράξεις σε σύστημα με βάση r x x

11 Χατζηγεωργίου Αλέξανδρος: • Από δεκαδικό σε δυαδικό (Διαδοχικές διαιρέσεις με το 2) : Μετατροπή Βάσης Αριθμού = 765

12 Χατζηγεωργίου Αλέξανδρος: • Κλασματικό μέρος (Διαδοχικοί πολλαπλασιασμοί με το 2) : Μετατροπή Βάσης Αριθμού  0.765

13 Χατζηγεωργίου Αλέξανδρος: • Από δεκαδικό σε oκταδικό (Διαδοχικές διαιρέσεις με το 8) : Μετατροπές ( ) 8

14 Χατζηγεωργίου Αλέξανδρος: • Από δεκαδικό σε oκταδικό : • Ευκολότερα με πίνακες μετατροπής από δυαδικό σε οκταδικό Μετατροπές ΔυαδικόΟκταδικόΔυαδικόΟκταδικό (411) 10 = ( )

15 Χατζηγεωργίου Αλέξανδρος: • Από δεκαδικό σε δεκαεξαδικό : Μετατροπές (431) 10 = ( ) 2 1 A F

16 Χατζηγεωργίου Αλέξανδρος: • Οι λέξεις στη μνήμη και οι καταχωρητές περιέχουν μόνο bits • Πρέπει με κάποιο τρόπο να κωδικοποιήσουμε το πρόσημο των αριθμών και την ύπαρξη υποδιαστολής • Στους αριθμούς σταθερής υποδιαστολής (fixed point numbers) η υποδιαστολή θεωρείται ότι βρίσκεται πάντα σε σταθερό σημείο της λέξης Ανάλογα με το πλήθος των bits διακρίνουμε: βραχείς (short) 8 bits απλής ακρίβειας (single precision)16 bits διπλής ακρίβειας (double precision)32 bits εκτεταμένης ακρίβειας (long)64 bits Παράσταση τιμών δεδομένων

17 Χατζηγεωργίου Αλέξανδρος: Έστω ένας υπολογιστής με μήκος λέξης 32 bits. 0 bit (δυφίο) 101 0nibble (τετράδα) byte (δυφιοσυλλαβή) half-word word (λέξη) Στη συνέχεια θα εξετάσουμε δυνατούς τρόπους αναπαράστασης αριθμών με χρήση μιας τετράδας Ορολογία

18 Χατζηγεωργίου Αλέξανδρος: Παράσταση ακεραίων τιμών Δεν υπάρχει ούτε πρόσημο ούτε υποδιαστολή Ένας αριθμός n bits μπορεί να αναπαραστήσει τους αριθμούς από 0 έως 2 n -1 Παράσταση μέτρου Χρήση για αναπαράσταση διευθύνσεων (βλ. pointers στην C)

19 Χατζηγεωργίου Αλέξανδρος: Παράσταση κλασματικών τιμών Η υποδιαστολή θεωρείται ότι βρίσκεται πριν από το περισσότερο σημαντικό δυφίο Ένας αριθμός n bits μπορεί να αναπαραστήσει τους αριθμούς από 0 έως (2 n -1)/2 n Παράσταση μέτρου (2 -4 ) (2 -3 ) ( ) H παράσταση αυτή ΔΕΝ χρησιμοποιείται στους υπολογιστές

20 Χατζηγεωργίου Αλέξανδρος: • Το πιο σημαντικό bit (ΜSB) της ακολουθίας χρησιμοποιείται για τον προσδιορισμό του προσήμου (0: +, 1: - ) • Τα υπόλοιπα (n-1) bits προσδιορίζουν το μέτρο του αριθμού σε δυαδική μορφή • Για n= 8 bits, Χ 10 = 7  Χ 2 = Σύστημα πρόσημο και μέτρο Χ 10 = - 7  Χ 2 =

21 Χατζηγεωργίου Αλέξανδρος: Παράσταση ακεραίων τιμών Υποτίθεται ότι δεν υπάρχει υποδιαστολή. Στην γενική περίπτωση αναπαριστώνται οι [-(2 n-1 -1), +(2 n-1 -1) ] Παράσταση προσήμου και μέτρου

22 Χατζηγεωργίου Αλέξανδρος: Παράσταση κλασματικών τιμών Η υποδιαστολή θεωρείται ότι βρίσκεται αμέσως μετά το περισσότερο σημαντικό δυφίο Παράσταση προσήμου και μέτρου (2 -3 ) (2 -2 ) ( )

23 Χατζηγεωργίου Αλέξανδρος: Μειονεκτήματα 1) Το μηδέν αναπαρίσταται με δύο διαφορετικές ακολουθίες (0000, 1000). Επιπλέον το hardware πρέπει να ξέρει ότι το μηδέν αναπαρίσταται διττά 2) Απαιτούνται διαφορετικά κυκλώματα για την πρόσθεση και την αφαίρεση καθώς τα αποτελέσματα των πράξεων εξαρτώνται από το πρόσημο Κατά συνέπεια ……. Η παράσταση αυτή δεν χρησιμοποιείται πολύ συχνά Παράσταση προσήμου και μέτρου

24 Χατζηγεωργίου Αλέξανδρος: Αριθμητική Δυαδικών Πρόσθεση δυαδικών : Α +ΒΑποτέλεσμαΚρατούμενο

25 Χατζηγεωργίου Αλέξανδρος: Αριθμητική Δυαδικών Πρόσθεση δυαδικών (πρόσημο και μέτρο) : 1ος Προσθετέος00111 (7) 10 2ος Προσθετέος :01010 (10) 10 Άθροισμα :10001 (17) 10 Κρατούμενο :01110

26 Χατζηγεωργίου Αλέξανδρος: Ενός αριθμού Ν σε βάση r με n ψηφία, το συμπλήρωμα ως προς (r-1) ορίζεται ως (r n – 1) – N. (ποιο το συμπλήρωμα ως προς 9 του (546700) 10 ?) Το συμπλήρωμα ως προς ένα μιας δυαδικής ακολουθίας λαμβάνεται αλλάζοντας όλα τα δυφία από μηδέν σε ένα και αντιστρόφως Παράσταση ακεραίων τιμών Οι αρνητικοί αναπαριστώνται ως το συμπλήρωμα ως προς ένα των θετικών Στην γενική περίπτωση αναπαριστώνται οι [-(2 n-1 -1), +(2 n-1 -1) ] Παράσταση συμπληρώματος ως προς ένα

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

28 Χατζηγεωργίου Αλέξανδρος: Αφαίρεση Παρόλο που και σε αυτή την παράσταση υπάρχουν δύο ακολουθίες που αναπαριστούν το μηδέν, τα κυκλώματα του υλικού είναι απλούστερα Η ‘’λογική’’ της αφαίρεσης είναι η ακόλουθη: βρες το συμπλήρωμα του αφαιρετέου πρόσθεσε το συμπλήρωμα στο μειωτέο if η πρόσθεση δώσει τελικό κρατούμενο (1) then πρόσθεσε το κρατούμενο στο άθροισμα (στο LSB) Παράσταση συμπληρώματος ως προς ένα

29 Χατζηγεωργίου Αλέξανδρος: Παραδείγματα Αφαίρεσης Παράσταση συμπληρώματος ως προς ένα    (συμπλ ως προς ένα)    (συμπλ ως προς ένα) κρατούμενο : = -7 10

30 Χατζηγεωργίου Αλέξανδρος: Ενός αριθμού Ν σε βάση r με n ψηφία, το συμπλήρωμα ως προς r ορίζεται ως r n – Ν για Ν  0, και 0 για Ν=0 ως προς 10 του ? • Οι αριθμητικές πράξεις υλοποιούνται ευκολότερα • Το πιο σημαντικό bit (ΜSB) χρησιμοποιείται για τον προσδιορισμό του προσήμου • Όταν MSB = 0, τότε ο αριθμός είναι θετικός ή μηδέν και το μέτρο δίνεται από τα υπόλοιπα (n-1) ψηφία του αριθμού • Όταν ΜSB = 1, ο αριθμός είναι αρνητικός και το μέτρο του αριθμού δίνεται από το συμπλήρωμα ως προς 2 του συνόλου των ψηφίων του αριθμού • To συμπλήρωμα ως προς 2 βρίσκεται αλλάζοντας όλα τα δυφία (0 σε 1 και 1 σε 0) και προσθέτοντας 1 στο αποτέλεσμα • για n=6 bits, Χ 10 = +17 => Χ 2 = Αριθμητική Συμπληρώματος του δύο

31 Χατζηγεωργίου Αλέξανδρος: • για n=6 bits, Χ 10 = - 17 => Χ 2 = Αρνητικοί Αριθμοί Εύρεση συμπληρώματος ως προς 2 του αριθμού 17 : Χ = 17 -> (Αντιστροφή όλων των bit) (Προσθήκη του 1)

32 Χατζηγεωργίου Αλέξανδρος: Παράσταση ακεραίων τιμών Στην γενική περίπτωση αναπαριστώνται οι [-2 n-1, +2 n-1 -1 ] (Π.χ στην C ενας int λαμβάνει τιμές από [-32768, ] Παράσταση συμπληρώματος ως προς δύο Άρα: Αν το MSB είναι 1 τότε πρόκειται για αρνητικό αριθμό Το κατεξοχήν αριθμητικό σύστημα που χρησιμοποιείται στους υπολογιστές

33 Χατζηγεωργίου Αλέξανδρος: Παράσταση κλασματικών τιμών Η υποδιαστολή θεωρείται ότι βρίσκεται αμέσως μετά το περισσότερο σημαντικό δυφίο Αν μία ακολουθία αρχίζει από 0 πρόκειται για θετικό αριθμό, αλλιώς για αρνητικό. Οι θετικές ακολουθίες παριστάνουν τους ίδιους αριθμούς με το σύστημα πρόσημο και μέτρο. Οι αρνητικές διαφέρουν Παράσταση συμπληρώματος ως προς δύο (2 -3 ) (2 -2 ) Το συμπλήρωμα του συμπληρώματος δίνει τον αρχικό αριθμό ο αριθμός αυτός δεν είναι ο 1, διότι στο συμπλ. ως προς 2, στους αρνητικούς υπάρχει ένας επιπλέον αριθμός

34 Χατζηγεωργίου Αλέξανδρος: • Το αλγεβρικό άθροισμα δύο αριθμών στην παράσταση συμπληρώματος του 2, προκύπτει ως το δυαδικό άθροισμα των δύο αριθμών (συμπεριλαμβανομένου του bit προσήμου), αγνοώντας το τυχόν κρατούμενο Αριθμητική Συμπληρώματος του Αγνοείται το κρατούμενο Αγνοείται το κρατούμενο 1

35 Χατζηγεωργίου Αλέξανδρος: Αριθμητικές πράξεις Το υλικό των υπολογιστών διαθέτει ένα κύκλωμα αθροιστή που χρησιμοποιείται τόσο για την πρόσθεση όσο και για την αφαίρεση Αλγόριθμος αφαίρεσης βρες το συμπλήρωμα του αφαιρετέου ως προς 2 ; πρόσθεσε το συμπλήρωμα στο μειωτέο ; // αγνοείται το τελικό κρατούμενο αν υπάρχει Παράσταση συμπληρώματος ως προς δύο

36 Χατζηγεωργίου Αλέξανδρος: Παραδείγματα Αφαίρεσης Παράσταση συμπληρώματος ως προς δύο    (συμπλ ως προς δύο)    (συμπλ ως προς δύο) κρατούμενο (αγν) :

37 Χατζηγεωργίου Αλέξανδρος: • Κάθε υπολογιστής εκτός από τον συσσωρευτή Α διαθέτει έναν επιπρόσθετο καταχωρητή Β που θεωρείται ως επέκταση του Α • Οι καταχωρητές Β και Α μπορούν να θεωρηθούν ως ένας διπλού μήκους καταχωρητής • Αλγόριθμος Πολλαπλασιασμού : Αρχικά ο πολλαπλασιαστής φορτώνεται στο συσσωρευτή Α και ο πολλαπλασιαστέος σε ένα βοηθητικό καταχωρητή Υ : Πολλαπλασιασμός - Διαίρεση ΒΑ πολλαπλασιαστής Υ πολλαπλασιαστέος

38 Χατζηγεωργίου Αλέξανδρος: Για πολ/στέο > 0 και πολ/στη > 0 {Β} = 0 for(i=1;i<=n;i++) { if LSB(πολ/στη) == 1 then πρόσθεσε τον πολ/στέο στο MS μέρος του γινομένου {B}; shift_right {BA} } Πολλαπλασιασμός - Διαίρεση

39 Χατζηγεωργίου Αλέξανδρος: 5 10 x 6 10 = Y = 0110 B A (αρχικά: φόρτωση πολ/στη στο Α) (LSB{A} = 1 άρα προσθ Υ στο {Β} ) (shift left {BA} ) i= i= i= i=4 ( ) 2 = (30) 10 Παράδειγμα για n=3 bits: 3 10 x 4 10 (A = 011, Y = 100) Πολλαπλασιασμός - Διαίρεση

40 Χατζηγεωργίου Αλέξανδρος: Στο σύστημα πρόσημο και μέτρο, το πρόσημο του γινομένου προκύπτει ως: πρόσημο γιν = πρόσημο πολ/στη XOR πρόσημο πολ/στέου στη συνέχεια υπολογίζεται το γινόμενο των δύο απροσήμαστων αριθμών 5 10 x (-6 10 ) = - (5 10 x 6 10 ) = - (30 10 ) Πολλαπλασιασμός - Διαίρεση

41 Χατζηγεωργίου Αλέξανδρος: Στο συμπλήρωμα ως προς 2 Για πολ/στή x 5 10 = Y = 0101 B A συμπλ (αρχικά: φόρτ. συμπλ. πολ/στη στο ΒΑ) (shift right {BA} i=1) (μετά την προσθήκη του Υ) i= (μετά την προσθήκη του Υ) i= i=4 Αν το γινόμενο των προσήμων είναι αρνητικό (XOR) τότε αποτέλεσμα = συμπλήρωμα (αποτελέσματος) ( ) 2 = ( - 30) 10 Πολλαπλασιασμός - Διαίρεση

42 Χατζηγεωργίου Αλέξανδρος: Στο συμπλήρωμα ως προς 2 Για πολ/στέο x (-6 10 ) = εναλλαγή πολλαπλασιαστή και πολλαπλασιαστέου και συνέχεια όπως προηγουμένως Πολλαπλασιασμός - Διαίρεση

43 Χατζηγεωργίου Αλέξανδρος: Στο συμπλήρωμα ως προς 2 Για πολ/στέο < 0 και πολ/στη < 0 (-5 10 ) x (-6 10 ) = Y = 1010(συμπλ. ως προς 2) B A (αρχικά: φόρτ. συμπλ πολ/στη στο ΒΑ) (μετά την προσθ του Υ στο {Β} ) (shift left {BA} ) i=1 γεμ. με ‘1’ i= i= (στο τελευταίο bit αφαιρούμε το Υ) (δηλ προσθ. το συμπλ του Υ στο ΒΑ} (shift left {BA} ) i=4 γεμ. με ‘0’ ( ) 2 = ( 30) 10 Πολλαπλασιασμός - Διαίρεση

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

45 Χατζηγεωργίου Αλέξανδρος: Διαίρεση 7 10 / 2 10 πηλίκο = 3 10 υπόλοιπο = 1 10 Y = 0010, Y’ = 1110 Β Α αρχικά {BA} = διαιρέτης shift lefti= shift lefti= shift left (διαιρέτης <=Β) i= shift left (διαιρέτης <=Β) i=4 υπόλοιπο πηλίκο Παράδειγμα για n=5 : Διαίρεση 10 / 4 Πολλαπλασιασμός - Διαίρεση

46 Χατζηγεωργίου Αλέξανδρος: Συμπλήρωμα ως προς 2 Παρατηρείται ότι όλες οι αριθμητικές πράξεις μπορούν να υλοποιηθούν (και στην πράξη υλοποιούνται) μόνο με κυκλώματα που εκτελούν πρόσθεση (και καταχωρητές των οποίων τα περιεχόμενα ολισθαίνουν αριστερά ή δεξιά)


Κατέβασμα ppt "Χατζηγεωργίου Αλέξανδρος: Παράσταση χαρακτήρων (char στην C, Pascal, Java) • Πιο συνηθισμένη μορφή γραπτής επικοινωνίας είναι με σύμβολα • Α, Β,..., Ζ,"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google