Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

28
Αναπαράστασης πληροφορίας με δυαδικά ψηφία: Μέρος Β

description

Έννοιες: Μετατροπή αριθμών σε δυαδικά ψηφία Ακέραιοι αριθμοί Πραγματικοί αριθμοί Μετατροπή κειμένου (γραμμάτων) σε δυαδικά ψηφία Μετατροπή σημάτων σε δυαδικά ψηφία Πρότυπες μορφές (standard forms) του δυαδικού κώδικα

Transcript of Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Page 1: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Αναπαράστασης πληροφορίας με δυαδικά ψηφία: Μέρος Β

Page 2: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

ΠερίληψηΠερίληψη

Έννοιες:• Μετατροπή αριθμών σε δυαδικά

ψηφία• Ακέραιοι αριθμοί• Πραγματικοί αριθμοί• Demo (από CD βιβλίου)

• Μετατροπή κειμένου (γραμμάτων) σε δυαδικά ψηφία

• Μετατροπή σημάτων σε δυαδικά ψηφία

• Πρότυπες μορφές (standard forms) του δυαδικού κώδικα

Page 3: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Υλικό ΑναφοράςΥλικό Αναφοράς

• Cyganski, D., Orr, A. O., and Vaz, R. F., Information Technology Inside and Outside, Prentice Hall, 2001, σελίδες 45-58

• Αναπαράσταση της πληροφορίας στον Υπολογιστή• http://www.cs.uoi.gr/~phadjido/courses/BET/lectures/BET-Lec05.pdf

• Κείμενο• http://www.cs.ucy.ac.cy/~nicolast/courses/cs422/lectures/mm06.pdf

• Χρήση εθνικών και ειδικών χαρακτήρων στην HTML• http://www.cs.tut.fi/~jkorpela/html/chars.iso7#theway

Page 4: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

ΕπανάληψηΕπανάληψη

• Δυαδικά ψηφία (binary digits = bits)• 0 και 1 => μόνο δύο διακριτές καταστάσεις• Αναπαράσταση πληροφορίας με στοιχειοσειρές 0101

• Με Κ bits αναπαριστούμε 2Κ μοναδικές στοιχειοσειρές

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

συμβόλων• εύκολη υλοποίηση για ψηφιακά συστήματα

• Υλοποίηση δυαδικών ψηφίων• Ηλεκτρική• Μαγνητική• Οπτική

Page 5: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Δύναμη αναπαράστασης με Κ bitsΔύναμη αναπαράστασης με Κ bits

• Με 3 bits έχουμε 8 μοναδικά σχήματα (patterns)

000001010011100101110111

2*2*2 = ; = 23 = 8

• Με 4 bits έχουμε 16 μοναδικά σχήματα

0000, 10000001, 10010010, 10100011, 10110100, 11000101, 11010110, 11100111, 1111

2*2*2*2= 16

Γενικά με Κ bits έχουμε 2Κ

μοναδικά σχήματα

Δύο πιθανές τιμές που μπορεί να πάρει ένα δυαδικό ψηφίο

Page 6: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Δυνάμεις του δύοΔυνάμεις του δύο

Page 7: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

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

• Θέλουμε να αναπαραστήσουμε 256 διαφορετικά μηνύματα με δυαδικές «λέξεις» (words). Πόσα δυαδικά ψηφία πρέπει να έχει κάθε λέξη;

256 = 28 => κάθε λέξη πρέπει να έχει 8 bits

• Θέλουμε να αναπαραστήσουμε 100 διαφορετικά μηνύματα με δυαδικές «λέξεις». Πόσα δυαδικά ψηφία πρέπει να έχει κάθε λέξη;

26 = 64

27 = 128 => κάθε λέξη πρέπει να έχει 7 bits

Page 8: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Αναπαράσταση αριθμητικής πληροφορίας

Αναπαράσταση αριθμητικής πληροφορίας

• Κάθε θέση έχει και μια τιμή που είναι δύναμη του 2

• Δηλαδή η θέση 0 (η πρώτη θέση από τα δεξιά) έχει τιμή 20 = 1

• Ένας δυαδικός αριθμός μετατρέπεται σε δεκαδικό αν προσθέσουμε τις τιμές σε εκείνες τις θέσεις που έχουν bit 1

27 128

0

2664

1

2532

0

24

16

0

238

0

224

1

212

1

201

1 τιμή

64 + 4 + 2 + 1 = 71

θέση

0 01 012 103 114 1005 1016 1007 1118 10009 1001

10 1010

Δεκαδικός αριθμός

Δυαδικός αριθμός

Page 9: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

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

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

• …

Δεκαδικός αριθμός

Δυαδικός αριθμός

Page 10: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Αναπαράσταση ακέραιων αριθμώνΑναπαράσταση ακέραιων αριθμών

• Εύκολη αναπαράσταση.• Στους Η/Υ με 16 bits αναπαριστούνται 216 = 65,536

ακέραιοι αριθμοί• Θετικοί αριθμοί από το 0 μέχρι το 65,535 ή• Προσημασμένοι αριθμοί μεταξύ -32,768 και 32,767

• διάφοροι τρόποι αναπαράστασης• π.χ. ένα από τα ψηφία αναπαριστά το πρόσημο και τα υπόλοιπα

την τιμή του αριθμού

• Για πιο μεγάλους αριθμούς χρησιμοποιείται επιστημονικός συμβολισμός με δυαδικές λέξεις• π.χ. για τον αριθμό 62 x 1015

αποθηκεύονται οι δύο αριθμοί 62 και 15• Ο τύπος (format) και ο αριθμός των bit που

χρησιμοποιούνται για την αναπαράσταση πρέπει να είναι γνωστός σε επικοινωνία δεδομένων

Page 11: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Μετατροπή δεκαδικού σε δυαδικό αριθμό

Μετατροπή δεκαδικού σε δυαδικό αριθμό

• Διαίρεσε τον δεκαδικό αριθμό n με το 2.

• Το υπόλοιπο της διαίρεσης είναι το επόμενο bit του αριθμού.

• Συνέχισε με n το πηλίκο

• Παράδειγμα:Το 71 είναι το 1000111 στο δυαδικό σύστημα

35

71 2

1 2

171 21 8 2

40 2

0 2 2

11 20

0

Διάβασε τα υπόλοιπα από τα δεξιά (κάτω) προς τα αριστερά (πάνω).

Page 12: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Δυαδικά κωδικοποιημένος δεκαδικός

Δυαδικά κωδικοποιημένος δεκαδικός

• Συμβολισμός δυαδικά κωδικοποιημένου δεκαδικού αριθμού (binary coded decimal notation – BCD)• Υπάρχει ένας κωδικός για

κάθε αριθμό 0-9• Εναλλακτική αναπαράσταση

ακέραιων αριθμών• Δεν χρειάζεται να ξέρουμε

το διάστημα τιμών των αριθμών

• π.χ. ο αριθμός 749 σε BCD είναι

011101001001 7 4 9

Page 13: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Αναπαράσταση κειμένουΑναπαράσταση κειμένου

• Το κείμενο μπορεί να περιγραφεί σαν ένα σύνολο από χαρακτήρες

• Η επιμέλεια κειμένου περιλαμβάνει: • Κωδικοποίηση

χαρακτήρων: περιγράφεται μόνο το νοηματικό περιεχόμενο του κειμένου

• Μορφοποίηση σελίδας: καθορίζεται ο τρόπος παρουσίασης του κειμένου

Page 14: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Κωδικοποίηση κειμένουΚωδικοποίηση κειμένου

• Μετατροπή της πληροφορίας σε συνδυασμό από bits

• Κωδικοποίηση Χαρακτήρων • Σε κάθε χαρακτήρα

αντιστοιχούμε ένα συνδυασμό bit, δηλ. ένα δυαδικό αριθμό

• Δεν υπάρχει μοναδικός τρόπος κωδικοποίησης

• Για να είναι κατανοητό ένα κείμενο σε 2 διαφορετικούς Η/Υ θα πρέπει να χρησιμοποιούν την ίδια κωδικοποίηση χαρακτήρων

Page 15: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (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

Page 16: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Κώδικας ASCIIΚώδικας ASCII

• Κώδικας ASCII (= American Standard Code for Information Interchange) ή Αμερικανικός πρότυπος κώδικας για την ανταλλαγή πληροφοριών

• Απλή κωδικοποίηση των λατινικών χαρακτήρων συν κάποια ειδικά σύμβολα

• Χρήσιμο για την κωδικοποίηση πληροφορίας που εισέρχεται από το πληκτρολόγιο ενός Η/Υ

• Αναπαράσταση γραμμάτων και άλλων συμβόλων σε δυαδικά ψηφία αλφαριθμητικός κώδικας (alphanumeric code)

Page 17: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Κώδικας ASCIIΚώδικας ASCII

• Χρησιμοποιεί 7 bits για την παρουσίαση 128 (= 27 ) στοιχείων• Συμπεριλαμβάνει 128 αλφαριθμητικά στοιχεία:

• 94 στοιχεία που μπορούν να εκτυπωθούν • 26 κεφαλαία and 26 μικρά γράμματα του Αγγλικού αλφαβήτου• 10 αριθμούς (0, 1, …, 9)• 32 ειδικά σύμβολα (π.χ. @, $, *, &, % …)

• 34 στοιχεία που δεν μπορούν να εκτυπωθούν (χαρακτήρες που χρησιμοποιούνται στον έλεγχο υπολογιστών)

• Αποθηκευτικός χώρος 1 byte = 8 bits• μπορούν να αναπαρασταθούν 28 =256 διαφορετικοί χαρακτήρες• oι πλεονάζοντες 128 χαρακτήρες μπορούν να χρησιμοποιηθούν

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

• το περιεχόμενο των πλεοναζόντων θέσεων δεν έχει τυποποιηθεί

Page 18: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Πίνακας ASCIIΠίνακας ASCII

A6 A5 A4

A3 A2 A1 A0

Ο κώδικας διαβάζεται ως A6 A5 A4 A3 A2 A1 A0Π.χ. το ‘Α’ = 1000001 και αποθηκεύεται ως 01000001

Page 19: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Αναπαράσταση πραγματικών αριθμών

Αναπαράσταση πραγματικών αριθμών

• Ένας πραγματικός αριθμός μπορεί να πάρει άπειρες τιμές => χρειαζόμαστε δυαδικές λέξεις με ένα άπειρο αριθμό ψηφίων! • Δεν είναι εφικτό

• Πως μπορούμε λοιπόν να αναπαραστήσουμε πραγματικούς αριθμούς; • Με την κατάλληλη ισορροπία μεταξύ ακρίβειας και ορθότητας • Χρησιμοποιούμαι ένα πεπερασμένο αριθμό δυαδικών ψηφίων κατά

προσέγγιση

• Ακρίβεια (precision) • Καθορίζει πόσα δεδομένα (και άρα πόσα ψηφία) πρέπει να έχουμε

• Ορθότητα (accuracy)• Καθορίζει πόσο έγκυρα ή ορθά είναι τα δεδομένα (δηλ. πόσο κοντά

είμαστε στον πραγματικό αριθμό)

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

Page 20: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

ΠαράδειγμαΠαράδειγμα

• Μέτρηση της θερμοκρασίας που κυμαίνεται μεταξύ 60 και 70 βαθμούς Φαρενάιτ.

• Χρησιμοποιούμε προσέγγιση στην δυαδική αναπαράσταση

• Με 8 bits έχουμε 256 διαφορετικές τιμές που διαφέρουν κατά (70 – 60) / 256 = 0,0390

• Η θερμοκρασία που μετράμε στρογγυλεύεται στην πιο κοντινή τιμή στον πίνακα και μετά αποθηκεύεται με την αντίστοιχη δυαδική λέξη

• => ξέρουμε την θερμοκρασία με ακρίβεια 0,0390

Page 21: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

ΠαράδειγμαΠαράδειγμα

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

• Με 16 bits έχουμε 65536 διαφορετικές τιμές που διαφέρουν κατά

(70 – 60) / 65536 = 0,000150

• Ο κατάλληλος αριθμός ψηφίων εξαρτάται από δύο πράγματα:1. με πόση ακρίβεια μπορούμε να μετρήσουμε την θερμοκρασία στην

πραγματικότητα2. Με πόση ακρίβεια θέλουμε να ξέρουμε την θερμοκρασία

• Πολύ πιθανό να μην χρειάζονται περισσότερα από 8 bits σε αυτή την περίπτωση.

Page 22: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Αναπαράσταση πραγματικών αριθμών

Αναπαράσταση πραγματικών αριθμών

• Οι Η/Υ αποθηκεύουν και επεξεργάζονται πραγματικούς αριθμούς σε μορφή αριθμών κινητής υποδιαστολής(floating point numbers)• Βασίζεται στον επιστημονικό συμβολισμό αριθμών• Επιτρέπει την αναπαράσταση πολύ μεγάλων και πολύ μικρών

αριθμών με αποτελεσματικό τρόπο

• Αριθμός κινητής υποδιαστολής με 32 bits

τιμή = (-1)πρόσημο x 2(εκθέτης-127) x (1 + σταθερή) πρόσημο = 1 bit (ψηφίο #31)

εκθέτης = 8-bit ακέραιος αριθμός (ψηφία #30-23)σταθερή = 23-bit πραγματικός αριθμός < 1 (ψηφία #22-0)

• Επίσης, αριθμοί κινητής υποδιαστολής με 64 bits πρόσημο = 1 bit (ψηφίο #63)

εκθέτης = 11-bit ακέραιος αριθμός (ψηφία #62-52)σταθερή = 52-bit πραγματικός αριθμός < 1 (ψηφία #51-0)

Page 23: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Αναπαράσταση σημάτωνΑναπαράσταση σημάτων

• Μετατροπή αναλογικής πληροφορίας σε ψηφιακή• Η τιμή της θερμοκρασίας στρογγυλεύεται στην πιο κοντινή ακέραια

τιμή σε κάθε καθορισμένο διακριτό χρονικό διάστημα

• Αναπαράσταση ψηφιακής πληροφορίας σε κάθε διακριτό χρόνο με δυαδικά ψηφία • Δηλ. 66 = 01000010, 67 = 01000011, κοκ.

Page 24: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Αριθμητικά ΣυστήματαΑριθμητικά Συστήματα

• Δυαδικό (binary) σύστημα• Βάση το 2• Τιμές 0 και 1

• Δεκαδικό (decimal) σύστημα• Βάση το 10• Τιμές 0 – 9

• Οκταδικό (octal) σύστημα• Βάση το 8 • Τιμές 0 – 7

• Δεκαεξαδικό (hexadecimal ή HEX) σύστημα• Βάση το 16• Τιμές 0 – F• 6 καινούρια σύμβολα Α-F

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

Page 25: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Βολικές μορφές δυαδικού κώδικαΒολικές μορφές δυαδικού κώδικα

• 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• 1 gigabyte (1 GB) = 230 = 1024 x 1024 x 1024 = 1.073.741.824 bytes

Το νόημα της αποθηκευμένης πληροφορίας εξαρτάται από το «πλαίσιο» (context) στο οποίο βρίσκεται.

Page 26: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Τι μπορεί να αναπαραστήσει 1 byte;

Τι μπορεί να αναπαραστήσει 1 byte;

•256 (=28) πιθανότητες ή καταστάσεις 256 ακέραιους αριθμούς 0...255 128 προσημασμένους ακεραίους -128...0…+127 128 χαρακτήρες με ένα bit ελέγχου (π.χ κώδικας ASCII) Εντολές Η/Υ

•Το ακόλουθο byte 01001001 θα μπορούσε να σημαίνει: Ο χαρακτήρας ’I’ (κώδικας ASCII) Ο αριθμός 73 (δυαδική αναπαράσταση) Ο αριθμός 3 (έχει τρία 1) Ο αριθμός 49 (κώδικας BCD)

Page 27: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

Ανίχνευσης και διόρθωσης σφαλμάτων

Ανίχνευσης και διόρθωσης σφαλμάτων

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

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

ανίχνευσης και διόρθωσης σφαλμάτων • π.χ. η προσθήκη του «ψηφίου ισοτιμίας» (parity bit) στον

κώδικα ASCII

Page 28: Αναπαράστασης πληροφορίας με δυαδικά ψηφία (2)

ASCII με Δυαδικό Ψηφίο ΙσοτιμίαςASCII με Δυαδικό Ψηφίο Ισοτιμίας

• Ένα 8ο ψηφίο στον κώδικα ASCII δηλώνει ζυγή ή περιττή ισοτιμία• Ζυγή (ή Περιττή) ισοτιμία: τοποθετείτε το ψηφίο ισοτιμίας έτσι ώστε ο

συνολικός αριθμός των ψηφίων που έχουν την τιμή 1 μέσα στον οκταψήφιο κώδικα να είναι ζυγός (ή περιττός)

• Παράδειγμα:• Κάνε τον επταψήφιο κώδικα 1011011 σε οκταψήφιο κώδικα με ζυγή

ισοτιμία 11011011• Κάνε τον επταψήφιο κώδικα 1011011 σε οκταψήφιο κώδικα με περιττή

ισοτιμία 01011011

• Και στις δύο περιπτώσεις ο αριθμός των σφαλμάτων που μπορεί να ανιχνευθεί είναι περιττός! (Γιατί;)