290 likes | 445 Views
ΗΜΥ 007 – Τεχνολογία Πληροφορίας Διάλεξη 4. Αναπαράστασης πληροφορίας με δυαδικά ψηφία: Μέρος Β. T ΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ. Περίληψη. Έννοιες: Μετατροπή αριθμών σε δυαδικά ψηφία Ακέραιοι αριθμοί Πραγματικοί αριθμοί
E N D
ΗΜΥ 007 – Τεχνολογία ΠληροφορίαςΔιάλεξη 4 Αναπαράστασης πληροφορίας με δυαδικά ψηφία: Μέρος Β TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ
Περίληψη Έννοιες: • Μετατροπή αριθμών σε δυαδικά ψηφία • Ακέραιοι αριθμοί • Πραγματικοί αριθμοί • demo • Μετατροπή κειμένου (γραμμάτων) σε δυαδικά ψηφία • Μετατροπή σημάτων σε δυαδικά ψηφία • Πρότυπες μορφές(standard forms) του δυαδικού κώδικα
Υλικό Αναφοράς • Cyganski, D., Orr, A. O., and Vaz, R. F., Information Technology Inside and Outside, Prentice Hall, 2001, σελίδες 45-58 • Αναπαράσταση της πληροφορίας στον Υπολογιστή • http://www.mbc.aueb.gr/kafeza/ehe1/notes/lecture2.pdf • Κείμενο • http://www2.cs.ucy.ac.cy/~pavger/EPL422_site/course_ppt/4Text.ppt • Χρήση εθνικών και ειδικών χαρακτήρων στην HTML • http://www.cs.tut.fi/~jkorpela/html/chars.iso7#theway
Επανάληψη • Δυαδικά ψηφία (binary digits = bits) • 0 και 1 => μόνο δύο διακριτές καταστάσεις • Αναπαράσταση πληροφορίας με στοιχειοσειρές 0101 • Με Κ bitsαναπαριστούμε 2Κμοναδικές στοιχειοσειρές • Ο δυαδικός κώδικας προσφέρει • ευρωστία απέναντι στο θόρυβο • ανοχή σε σφάλματα που επηρεάζουν την αναγνώριση των συμβόλων • εύκολη υλοποίηση για ψηφιακά συστήματα • Υλοποίηση δυαδικών ψηφίων • Ηλεκτρική • Μαγνητική • Οπτική
Δύναμη αναπαράστασης με Κbits • Με 4bits έχουμε 16 μοναδικά σχήματα 0000, 1000 0001, 1001 0010, 1010 0011, 1011 0100, 1100 0101, 1101 0110, 1110 0111, 1111 2*2*2*2= 16 • Με 3 bits έχουμε 8 μοναδικά σχήματα (patterns) 000 001 010 011 100 101 110 111 2*2*2= ; = 23 = 8 Γενικά με Κbits έχουμε 2Κμοναδικά σχήματα Δύο πιθανές τιμές που μπορεί να πάρει ένα δυαδικό ψηφίο
Παραδείγματα • Θέλουμε να αναπαραστήσουμε 256 διαφορετικά μηνύματα με δυαδικές «λέξεις» (words). Πόσα δυαδικά ψηφία πρέπει να έχει κάθε λέξη; 256 = 28 => κάθε λέξη πρέπει να έχει 8 bits • Θέλουμε να αναπαραστήσουμε 100 διαφορετικά μηνύματα με δυαδικές «λέξεις». Πόσα δυαδικά ψηφία πρέπει να έχει κάθε λέξη; 26 = 64 27 = 128 => κάθε λέξη πρέπει να έχει 7 bits
Αναπαράσταση αριθμητικής πληροφορίας • Κάθε θέση έχει και μια τιμή που είναι δύναμη του 2 • Δηλαδή η θέση 0 (η πρώτη θέση από τα δεξιά) έχει τιμή 20 = 1 • Ένας δυαδικός αριθμός μετατρέπεται σε δεκαδικό αν προσθέσουμε τις τιμές σε εκείνες τις θέσεις που έχουν bit 1 Δυαδικός αριθμός Δεκαδικός αριθμός θέση τιμή 64 + 4 + 2 + 1 = 71
0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 Δυαδικός αριθμός με 3 ψηφία μπορούμε να αναπαραστήσουμε 8δεκαδικούς αριθμούς: 0 – 710 Δυαδικός αριθμός με 4 ψηφία μπορούμε να αναπαραστήσουμε 16δεκαδικούς αριθμούς: 0 – 1510 Δυαδικός αριθμός με 8 ψηφία μπορούμε να αναπαραστήσουμε 256δεκαδικούς αριθμούς: 0 – 25510 … Παραδείγματα Δυαδικός αριθμός Δεκαδικός αριθμός
Αναπαράσταση ακέραιων αριθμών • Εύκολη αναπαράσταση. • Στους Η/Υ με 16 bits αναπαριστούνται 216 = 65,536 ακέραιοι αριθμοί • Θετικοί αριθμοί από το 0 μέχρι το 65,535 ή • Προσημασμένοι αριθμοί μεταξύ -32,768 και 32,767 • διάφοροι τρόποι αναπαράστασης • π.χ. ένα από τα ψηφία αναπαριστά το πρόσημο και τα υπόλοιπα την τιμή του αριθμού • Για ποιο μεγάλους αριθμούς χρησιμοποιείται επιστημονικός συμβολισμός με δυαδικές λέξεις • π.χ. για τον αριθμό 62 x 1015 αποθηκεύονται οι δύο αριθμοί 62 και 15 • Ο τύπος (format) και ο αριθμός των bit που χρησιμοποιούνται για την αναπαράσταση πρέπει να είναι γνωστός σε επικοινωνία δεδομένων
2 71 35 2 1 1 17 2 1 8 2 0 2 4 2 0 2 0 2 1 0 1 Μετατροπή δεκαδικού σε δυαδικό αριθμό • Διαίρεσε τον δεκαδικό αριθμό n με το 2. • Το υπόλοιπο της διαίρεσης είναι το επόμενο bitτου αριθμού. • Συνέχισε με n το πηλίκο • Παράδειγμα: Το 71 είναι το 1000111 στο δυαδικό σύστημα Διάβασε τα υπόλοιπα από τα δεξιά (κάτω) προς τα αριστερά. (πάνω)
Δυαδικά κωδικοποιημένος δεκαδικός • Συμβολισμός δυαδικά κωδικοποιημένου δεκαδικού αριθμού (binary coded decimal notation – BCD) • Υπάρχει ένας κωδικός για κάθε αριθμό 0-9 • Εναλλακτική αναπαράσταση ακέραιων αριθμών • Δεν χρειάζεται να ξέρουμε το διάστημα τιμών των αριθμών • π.χ. ο αριθμός 749 σε BCD είναι 011101001001 7 4 9
Αναπαράσταση κειμένου • Το κείμενο μπορεί να περιγραφεί σαν ένα σύνολο από χαρακτήρες • Η επιμέλεια κειμένου περιλαμβάνει: • Κωδικοποίηση χαρακτήρων: περιγράφεται μόνο το νοηματικό περιεχόμενο του κειμένου • Μορφοποίηση σελίδας: καθορίζεται ο τρόπος παρουσίασης του κειμένου
Κωδικοποίηση κειμένου • Μετατροπή της πληροφορίας σε συνδυασμό από bits • Κωδικοποίηση Χαρακτήρων • Σε κάθε χαρακτήρα αντιστοιχούμε ένα συνδυασμό bit , δηλ. ένα δυαδικό αριθμό • Δεν υπάρχει μοναδικός τρόπος κωδικοποίησης • Για να είναι κατανοητό ένα κείμενο σε 2 διαφορετικούς Η/Υ θα πρέπει να χρησιμοποιούν την ίδια κωδικοποίηση χαρακτήρων
Χαρακτήρες και αλφάβητα • ASCII • Κώδικας με 7 bits • 128 χαρακτήρες για αλφαριθμητικά • ISO-Latin-1 (The Extended Character Set) • Κώδικας με 8 bits • 256 χαρακτήρες • Περιλαμβάνει τον κώδικα ASCII • Υποστηρίζει πολυγλωσικό σύστημα • Χρησιμοποιείται σε HTML σελίδες • Unicode • Χρησιμοποιεί 16 bits, μέχρι 65.000 χαρακτήρες • Version 2.0: υποστηρίζει 25 γλώσσες και 38.885 χαρακτήρες • Για οικουμενική χρήση χαρακτήρων σε διάφορες πλατφόρμες και εφαρμογές • HTML επιτρέπει εισαγωγή Unicode χαρακτήρων • π.χ. 水 παριστάνει τον κινέζικο χαρακτήρα για το νερό • Για περισσότερες πληροφορίες • http://www.cs.tut.fi/~jkorpela/html/chars.iso7#theway
Κώδικας ASCII • Κώδικας ASCII (= American Standard Code for Information Interchange) ή Αμερικανικός πρότυπος κώδικας για την ανταλλαγή πληροφοριών • Απλή κωδικοποίηση των λατινικών χαρακτήρων συν κάποια ειδικά σύμβολα • Χρήσιμο για την κωδικοποίηση πληροφορίας που εισέρχεται από το πληκτρολόγιο ενός Η/Υ • Αναπαράσταση γραμμάτων και άλλων συμβόλων σε δυαδικά ψηφία αλφαριθμητικός κώδικας (alphanumeric code)
Κώδικας ASCII • Χρησιμοποιεί 7 bits για την παρουσίαση 128 (= 27 )στοιχείων • Συμπεριλαμβάνει 128 αλφαριθμητικά στοιχεία: • 94 στοιχεία που μπορούν να εκτυπωθούν • 26 κεφαλαία and 26 μικρά γράμματα του Αγγλικού αλφαβήτου • 10 αριθμούς (0, 1, …, 9) • 32 ειδικά σύμβολα (π.χ. @, $, *, &, % …) • 34 στοιχεία που δεν μπορούν να εκτυπωθούν (χαρακτήρες που χρησιμοποιούνται στον έλεγχο υπολογιστών) • Αποθηκευτικός χώρος 1 byte = 8 bits • μπορούν να παρασταθούν 28 =256 διαφορετικοί χαρακτήρες • oι πλεονάζοντες 128 χαρακτήρες μπορούν να χρησιμοποιηθούν για ειδικά σύμβολα ή χαρακτήρες άλλων αλφάβητων • π.χ. το δυαδικό ψηφίο ισοτιμίας για αναγνώριση σφαλμάτων • tο περιεχόμενο των πλεοναζόντων θέσεων δεν έχει τυποποιηθεί
Πίνακας ASCII A6 A5 A4 A3 A2 A1 A0 Ο κώδικας διαβάζεται ως A6 A5 A4 A3 A2 A1 A0 Π.χ. το ‘Α’ = 1000001 και αποθηκεύεται ως 01000001
Αναπαράσταση πραγματικών αριθμών • Ένας πραγματικός αριθμός μπορεί να πάρει άπειρες τιμές => χρειαζόμαστε δυαδικές λέξεις με ένα άπειρο αριθμό ψηφίων! • Δεν είναι εφικτό • Πως μπορούμε λοιπόν να αναπαραστήσουμε πραγματικούς αριθμούς; • Με την κατάλληλη ισορροπία μεταξύ ακρίβειας και ορθότητας • Χρησιμοποιούμαι ένα πεπερασμένο αριθμό δυαδικών ψηφίων κατά προσέγγιση • Ακρίβεια (precision) • Καθορίζει πόσα δεδομένα (και πόσα ψηφία) πρέπει να έχουμε • Ορθότητα (accuracy) • Καθορίζει πόσο έγκυρα ή ορθά είναι τα δεδομένα • Οι περιορισμοί στην εφικτή ορθότητα γνώσης της πληροφορίας καθορίζει πόση ακρίβεια χρειάζεται στην δυαδική αναπαράσταση
Παράδειγμα • Μέτρηση της θερμοκρασίας που κυμαίνεται μεταξύ 60 και 70 βαθμούς Φαρενάιτ. • Χρησιμοποιούμε προσέγγιση στην δυαδική αναπαράσταση • Με 8 bits έχουμε 256 διαφορετικές τιμές που διαφέρουν κατά (70 – 60) / 256 = 0,0390 • Η θερμοκρασία που μετράμε στρογγυλεύεται στην πιο κοντινή τιμή στον πίνακα και μετά αποθηκεύεται με την αντίστοιχη δυαδική λέξη • => ξέρουμε την θερμοκρασία με ακρίβεια 0,0390
Παράδειγμα • Αν θέλουμε μεγαλύτερη ακρίβεια στην τιμή της θερμοκρασίας τότε αυξάνουμε τον αριθμό των δυαδικών ψηφίων • Με 16 bits έχουμε 65536 διαφορετικές τιμές που διαφέρουν κατά (70 – 60) / 65536 = 0,000150 • Ο κατάλληλος αριθμός ψηφίων εξαρτάται από δύο πράγματα: • με πόση ακρίβεια μπορούμε να μετρήσουμε την θερμοκρασία στην πραγματικότητα • Με πόση ακρίβεια θέλουμε να ξέρουμε την θερμοκρασία • Πολύ πιθανό να μην χρειάζονται περισσότερα από 8 bits σε αυτή την περίπτωση.
Αναπαράσταση πραγματικών αριθμών • Οι Η/Υ αποθηκεύουν και επεξεργάζονται πραγματικούς αριθμούς σε μορφή αριθμών κινητής υποδιαστολής(floating point numbers) • Βασίζεται στον επιστημονικό συμβολισμό αριθμών • Επιτρέπει την αναπαράσταση πολύ μεγάλων και πολύ μικρών αριθμών με αποτελεσματικό τρόπο • Αριθμός κινητής υποδιαστολήςμε 32 bits τιμή = (-1)πρόσημοx 2(εκθέτης-127) x (1 + σταθερή) πρόσημο = 1 bit (ψηφίο #31) εκθέτης = 8-bit ακέραιος αριθμός (ψηφία #30-23) σταθερή = 23-bit πραγματικός αριθμός < 1 (ψηφία #22-0)
Αναπαράσταση σημάτων • Μετατροπή αναλογικής πληροφορίας σε ψηφιακή • Η τιμή της θερμοκρασίας στρογγυλεύεται στην πιο κοντινή ακέραια τιμή σε κάθε καθορισμένο διακριτό χρονικό διάστημα • Αναπαράσταση ψηφιακής πληροφορίας σε κάθε διακριτό χρόνο με δυαδικά ψηφία • Δηλ. 66 = 01000010 , 67 = 01000011 κοκ
Αριθμητικά Συστήματα • Δυαδικό (binary) σύστημα • Βάση το 2 • Τιμές 0 και 1 • Δεκαδικό (decimal) σύστημα • Βάση το 10 • Τιμές 0 – 9 • Οκταδικό (octal) σύστημα • Βάση το 8 • Τιμές 0 – 7 • Δεκαεξαδικό (hexadecimal ή HEX) σύστημα • Βάση το 16 • Τιμές 0 – F • 6 καινούρια σύμβολα Α-F • Το οκταδικό και δεκαεξαδικό χρησιμοποιούνται για εύκολη ανάγνωση δυαδικού κώδικα
Βολικές μορφές δυαδικού κώδικα • bit είναι ένα δυαδικό ψηφίο (0 ή 1). • byte είναι 8 bits • wordείναι ένα ή περισσότεραbytes (ο αριθμός των bytes είναι δύναμη του 2) • παράδειγμα 1, 2, 4, ή 8 bytes = 8, 16, 32, 64 bits αντιστοίχως • Μονάδα μέτρησης της μνήμη Η/Υ είναι το byte • 1 kilobyte (1 KB) = 210 = 1024 bytes • 1 megabyte (1 MB) = 220 = 1024 x 1024 = 1.048.576 bytes Το νόημα της αποθηκευμένης πληροφορίας εξαρτάται από το «πλαίσιο» (context) στο οποίο βρίσκεται.
Τι μπορεί να αναπαραστήσει 1 byte; • 256 (=28) πιθανότητες ή καταστάσεις • 256 ακέραιους αριθμούς 0...255 • 128 προσημασμένους ακεραίους -128...0…+127 • 128 χαρακτήρες με ένα bit ελέγχου (π.χκώδικαςASCII) • Εντολές Η/Υ • Το ακόλουθο byte 01001001 θα μπορούσε να σημαίνει: • Ο χαρακτήρας ’I’ (κώδικας ASCII) • Ο αριθμός 73 (δυαδική αναπαράσταση) • Ο αριθμός 3 (έχει τρία 1)
Ανίχνευσης και διόρθωσης σφαλμάτων • Με ειδικούς κώδικες είναι εφικτό να γίνεται ανίχνευση και διόρθωση σφαλμάτων που συμβαίνουν στην μετάδοση δυαδικής πληροφορίας • Βασική αρχή αυτών των κωδικών είναι ο πλεονασμόςψηφίων • δηλ. προσθέτονται επιπλέον δυαδικά ψηφία για σκοπούς ανίχνευσης και διόρθωσης σφαλμάτων • π.χ. η προσθήκη του «ψηφίου ισοτιμίας» (parity bit) στον κώδικα ASCII
ASCII με Δυαδικό Ψηφίο Ισοτιμίας • Ένα 8ο ψηφίο στον κώδικα ASCII δηλώνει ζυγή ή περιττή ισοτιμία • Ζυγή (Περιττή) ισοτιμία: τοποθετείτε το ψηφίο ισοτιμίας έτσι ώστε ο συνολικός αριθμός των ψηφίων που έχουν την τιμή 1 μέσα στον οκταψήφιο κώδικα να είναι ζυγός (περιττός) • Παράδειγμα: • Κάνε τον επταψήφιο κώδικα 1011011 σε οκταψήφιο κώδικα με ζυγή ισοτιμία 11011011 • Κάνε τον επταψήφιο κώδικα 1011011 σε οκταψήφιο κώδικα με περιττή ισοτιμία 01011011 • Και στις δύο περιπτώσεις ο αριθμός των σφαλμάτων που μπορεί να ανιχνευθεί είναι περιττός!
Στην συνέχεια … • Ο τύπος (format) και ο αριθμός των bit που χρησιμοποιούνται για την αναπαράσταση πληροφορίας πρέπει να είναι γνωστός σε επικοινωνία δεδομένων • Για να είναι κατανοητό ένα κείμενο σε 2 διαφορετικούς Η/Υ θα πρέπει να χρησιμοποιούν την ίδια κωδικοποίηση χαρακτήρων • => Υπάρχουν ειδικοί πρότυποι κώδικες αναπαράστασης πληροφορίας και οικουμενικά πρωτόκολλα επικοινωνίας τα οποία θα δούμε στην συνέχεια …