Εισαγωγή στην Πληροφορική 1
Περιεχόµενα - Κωδικοποιήσεις - Αριθµητικά Συστήµατα 2
Ηλεκτρονικός Υπολογιστής Είπαµε ότι είναι, µία Ηλεκτρονική Μηχανή, που δουλεύει κάτω από τον έλεγχο εντολών αποθηκευµένων στην δικιά της µνήµη, που µπορεί να δεχθεί δεδοµένα ( input ) να χειρισθεί τα δεδοµένα σύµφωνα µε καθορισµένους κανόνες ( επεξεργασία ) να παράγει αποτελέσµατα ( output ), και να αποθηκεύσει τα αποτελέσµατα για µελλοντική χρήση. 3
Η/Υ Σ ένα υπολογιστή, όλες οι πληροφορίες - εντολές προγράµµατος, εικόνες, κείµενο, ήχοι, µαθηµατικές τιµές αντιπροσωπεύονται από οµάδες ηλεκτρονικών κυκλωµάτων. Ένα κύκλωµα καταλαβαίνει δύο επιτρεπτές καταστάσεις. Την παρουσία ηλεκτρικής τάσης, ή όχι δηλ. διαρρέεται από ηλεκτρικό ρεύµα ή δεν διαρρέεται. 4
υαδικό σύστηµα και Η/Υ Οι ηλεκτρονικοί υπολογιστές αποτελούνται από ηλεκτρονικά κυκλώµατα που µπορούν να βρεθούν σε 2 καταστάσεις Ηλεκτρονικά κυκλώµατα που µπορούν να βρίσκονται σε δύο καταστάσεις, λέγονται ψηφιακά. Η κατάλληλη διασύνδεση ψηφιακών κυκλωµάτων επιτρέπει την αποθήκευση και επεξεργασία δεδοµένων σε ψηφιακή µορφή. 5
Binary Digit υαδικό ψηφίο Ένα bit είναι η µικρότερη µονάδα πληροφορίας και µπορεί να πάρει δύο τιµές. 1 και 0 Σκεφθείτε τις σαν Ναι Όχι, Ανοικτό Κλειστό, Υψηλή τάση Χαµηλή τάση. 6
Οµαδοποίηση δυαδικών ψηφίων Ένα σύνολο από 8 bits, ονοµάζεται byte 1 byte = 8 bits και είναι η οµάδα bits που µπορεί να καταχωρήσει την ελάχιστη ολοκληρωµένη πληροφορία πχ. τον χαρακτήρα Β ή τον αριθµό 5. Ένα byte µπορεί να αντιπροσωπεύσει 256 συνδυασµούς ( 2 8 ) 7
Κωδικοποίηση της Πληροφορίας Όπως είπαµε οι υπολογιστές αναπαριστούν κάθε είδους δεδοµένα αριθµούς, γράµµατα, σηµεία στίξης, ήχο, εικόνα, βίντεο µέσω µιας ακολουθίας δυαδικών ψηφίων. Γι αυτό τον λόγο, η προγραµµατιστική κοινότητα δηµιούργησε ΚΩ ΙΚΕΣ που αντιπροσωπεύουν κάθε γράµµα, ψηφίο, και ειδικό χαρακτήρα σαν µια µοναδική συµβολοσειρά από bit. 8
Κώδικες Ο πρώτος BCD Binary Coded Decimal. Οµάδα 4 bits, άρα 2 = 16 συνδυασµοί. Η οµάδα των 4 bits αυξήθηκε σε 6 bits, 6 δηλ. 2 αρκετοί. 4 = 64 συνδυασµοί. Πολλοί αλλά όχι 9
Κώδικες συνέχεια Οµάδα 8 bits δηλ 2 =256 συνδυασµοί Κώδικες EBCDIC και ASCII. Ο πιο διαδεδοµένος ο ASCII 8 ( American Standard Code for Information Interchange). 10
Κωδικοποίηση δεδοµένων µε βάση τον κώδικα ASCII Χαρακτήρας υαδικός κώδικας ASCII Χαρακτήρας υαδικός κώδικας ASCII Α Β C ή 0 1 2 01000001 01000010 01000011 00110000 00110001 00110010 a b $ 01100001 01100010 00100100 11
Κώδικες συνέχεια Καθώς ο κόσµος συρρικνώνεται και οι ανάγκες πολυγλωσσικής επικοινωνίας - ελληνικά, εβραϊκά, γιαπωνέζικα, κινέζικα αναπτύσσονται, οι 256 χαρακτήρες ASCII δεν είναι αρκετοί. Έτσι η βιοµηχανία των υπολογιστών χρησιµοποιεί το UNICODE, ένα σχήµα κωδικοποίησης που υποστηρίζει 65000 µοναδικούς χαρακτήρες. Καταλαµβάνει 2 bytes, άρα 2 16 συνδυασµοί. 12
Παραδείγµατα Η κωδικοποιηµένη µορφή της λέξης copy σε δυαδική µορφή έχει ως εξής 01000011 01101111 01110000 11110010 και απαιτεί 4 bytes για την αποθήκευση. Η κωδικοποιηµένη µορφή του αριθµού 129 όταν τον πληκτρολογώ είναι 00110001 00110010 00111001 1 2 9 13
Αριθµητικά συστήµατα Ο άνθρωπος όταν συνειδητοποίησε τις αριθµητικές έννοιες έπρεπε να βρει έναν τρόπο να µετράει η να συµβολίζει τα µεγέθη. Χρησιµοποιώντας τα 10 δάκτυλα των χεριών του για να συµβολίσει 10 διαφορετικές ποσότητες, κατέληξε να διατυπώσει το δεκαδικό σύστηµα αρίθµησης 14
εκαδικό σύστηµα αρίθµησης Έχει τα εξής ψηφία 0 1 2 3 4 5 6 7 8 9 Μια συγκεκριµένη ποσότητα παριστάνεται µε µια συγκεκριµένη διάταξη των δέκα αυτών ψηφίων. Τι σηµαίνει ο αριθµός 642? Σηµαίνει 600 + 40 +2 στη βάση 10 15
Σηµειολογία της θέσης Συνεχίζοντας το παράδειγµά µας. το 642 στη βάση 10 σηµαίνει 600 + 40 +2 = 6x100 +4x10 + 2x1 = 2 1 0 6 x 10 + 4 x 10 + 2x10 = 642 Ο αριθµός είναι στη βάση 10 Η δύναµη δείχνει τη θέση του ψηφίου µέσα στον αριθµό 16
Σηµειολογία της θέσης συνέχεια Γενικεύοντας την έννοια του δεκαδικού συστήµατος θα µπορούσαµε να δηµιουργήσουµε ένα άλλο αριθµητικό σύστηµα. Πχ. Ο αριθµός αβγ του αριθµητικού συστήµατος µε βάση n θα εκφράζει την παρακάτω ποσότητα 2 α x n + β x n 1 0 + γ x n 17
Σηµειολογία της θέσης συνέχεια Τα συστήµατα αυτής της µορφής,όπου δηλαδή η αξία του κάθε ψηφίου σ έναν αριθµό εξαρτάται από την θέση του µέσα σ αυτόν τον αριθµό ονοµάζονται ΘΕΣΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 18
Αριθµητικά συστήµατα Τα συνηθέστερα αριθµητικά συστήµατα είναι το δεκαδικό, και αυτά που αποτελούν δυνάµεις του 2. ηλαδή: υαδικό Οκταδικό εκαεξαδικό 19
Αριθµητικά συστήµατα υαδικό, έχει βάση το 2 και ψηφία : [ 0, 1 ] Οκταδικό, έχει βάση το 8 και ψηφία: [ 0, 1, 2, 3, 4, 5, 6, 7 ] εκαεξαδικό, έχει βάση το 16 και ψηφία : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Α, Β, C, D, E, F ] 20
Αριθµητικά συστήµατα Παράσταση αριθµού: a n a n-1 a 1 a 0, a -1 a 2 a m ακέραιο µέρος, δεκαδικό διαχωριστικό σύµβολο 21
Μετατροπές σε ΕΚΑ ΙΚΟ Από ΥΑ ΙΚΟ 1. 100010 2 = 2. =1x 2 5 + 0 x 2 4 + 0 x 2 3 + 0 x 2 2 +1 x 2 1 +0 x 2 0 = 32 + 0 + 0 + 0 + 2 + 0 = = 34 10 1111.1 (2) = 1x 23 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 + 1 x 2-1 = = 8 + 4 + + 2 + 1 + 0.5 = 15.5 (10) 22
Μετατροπές σε ΕΚΑ ΙΚΟ Από Οκταδικό Έστω ο οκταδικός αριθµός 347 για να το µετατρέψουµε σε δεκαδικό 347 8 = 3x8 2 + 4x8 1 + 7x8 0 = = 3x64 + 4x 8 + 7x1 = = 192 + 32 + 7 = 231 10 Αν υπάρχει δεκαδικό µέρος, τότε συνεχίζουµε µε αρνητικές δυνάµεις. -1 23
Μετατροπές σε ΕΚΑ ΙΚΟ Απο δεκαεξαδικό Έστω ο δεκαεξαδικός αριθµός 1CA8 για να τον µετατρέψουµε σε δεκαδικό 1CA8 16 = 1x 16 3 + C x 16 2 + A x16 1 + 8x 16 0 = = 1x4096 + 12 x 256 + 10 x 16 + 8x1 = = 4096 +3072 +160 + 8 = 7306 10 24
Γενικά Μετατροπές αριθµών από βάση b στο 10δικό σύστηµα Αν a n a n-1 a 1 a 0, a -1 a 2 a m ένας αριθµός σε βάση b ( 2,8,16 ), τότε, για να τον µετατρέψουµε σε δεκαδικό ακολουθούµε τον τύπο : (a n a n-1 a 1 a 0, a -1 a 2 a m ) b = = αn x b n + α n-1 x b n-1.+ α 1 x b 1 + + α 0 x b 0 + α -1 x b -1 + α 2 x b -2 + + α m xb -m 25
Μετατροπές σε ΕΚΑ ΙΚΟ Από δυαδικό ιαιρούµε συνεχώς τον δεκαδικό αριθµό µε το δύο, µέχρι το πηλίκο να γίνει 0. - 34 : 2 πηλίκο 17, υπόλοιπο 0-17 : 2 πηλίκο 8, υπόλοιπο 1-8 : 2 πηλίκο 4, υπόλοιπο 0-4 : 2 πηλίκο 2, υπόλοιπο 0-2 : 2 πηλίκο 1, υπόλοιπο 0-1 : 2 πηλίκο 0, υπόλοιπο 1 άρα 34 10 = 100010 2 26
Μετατροπές σε ΕΚΑ ΙΚΟ Από οκταδικό ιαιρούµε συνεχώς τον δεκαδικό αριθµό µε το οκτώ, µέχρι το πηλίκο να γίνει 0. - 1376 : 8 πηλίκο 172, υπόλοιπο 0-17 2 : 8 πηλίκο 21, υπόλοιπο 4-21 : 8 πηλίκο 2, υπόλοιπο 5-2 : 8 πηλίκο 0, υπόλοιπο 2 άρα 1376 10 = 2540 8 27
Μετατροπές σε ΕΚΑ ΙΚΟ Από δεκαεξαδικό ιαιρούµε συνεχώς τον δεκαδικό αριθµό µε το 16, µέχρι το πηλίκο να γίνει 0. - 7306 : 16 πηλίκο 456, υπόλοιπο 10-456 : 16 πηλίκο 28, υπόλοιπο 8-28 : 16 πηλίκο 1, υπόλοιπο 12-1 : 16 πηλίκο 0, υπόλοιπο 1 Υπενθυµίζω ότι τα Α,Β,C,D,E,F αντιστοιχούν στους αριθµούς 10,11,12,13,14,15. Άρα 7306 10 = 1C8A 16 28
Αλγόριθµος µετατροπής πραγµατικών αριθµών από το δεκαδικό σύστηµα σε αριθµό µε βάση b 1.1. Ακέραιο µέρος του δεκαδικού αριθµού Αλγόριθµος διαίρεσης: 1. ιαίρεσε το ακέραιο µέρος του δεκαδικού µε τη βάση b µέχρι να βρεις πηλίκο και υπόλοιπο. 2. Βάλε το υπόλοιπο σε µία στήλη. 3. Έλεγξε το πηλίκο. Εάν είναι 0, πήγαινε στο βήµα (5). 4. ιαίρεσε το πηλίκο µε τη βάση b µέχρι να βρεις πηλίκο και υπόλοιπο. Πήγαινε στο βήµα 2. 5. (Τελικό βήµα). Γράψε τα ψηφία στη στήλη ανάποδα. Το τελευταίο υπολογισµένο υπόλοιπο θα είναι το πρώτο ψηφίο. (Ακέραιο µέρος). 29
Αλγόριθµος µετατροπής πραγµατικών αριθµών από το δεκαδικό σύστηµα σε αριθµό µε βάση b 1.2. εκαδικό µέρος αριθµού στο 10δικό σύστηµα Πολλαπλασιαστικός Αλγόριθµος (ακρίβεια δεδοµένη): 1. Πολλαπλασιάστε το δεκαδικό µέρος µε το b. 2. Βάλτε το ακέραιο µέρος του αποτελέσµατος σε µία στήλη 3. Ελέγξτε το δεκαδικό µέρος του αποτελέσµατος. Εάν είναι 0, πήγαινε στο βήµα(5). Έλεγξε την ακρίβεια. Εάν την έφθασες, πήγαινε στο βήµα (5). 4. Πολλαπλασίασε µόνο το δεκαδικό µέρος του αποτελέσµατος µε b. Πήγαινε στο βήµα 2. 5. Γράψε τα ψηφία στη στήλη από πάνω προς τα κάτω( ο πρώτος υπολογισµένος ακέραιος θα είναι το πρώτο ψηφίο). Αυτός είναι ο αριθµός σε βάση-b (δεκαδικός αριθµός). 30
Παραδείγµατα µετατροπής πραγµατικών αριθµών από το δεκαδικό σύστηµα σε αριθµό µε βάση b 0.5625 10 0.5625 10 x 2 1).1250 1ο ψηφίο δεκ. µέρους και συνεχίζω να πολλαπλ. µε το το 0.1250 x 2 0).2500 2ο ψηφίο δεκ. µέρους και συνεχίζω να πολλαπλ. µε το το 0.2500 x 2 0).5000 3ο ψηφίο δεκ. µέρους και συνεχίζω να πολλαπλ. µε το το 0.5000 x 2 1).000 4ο ψηφίο δεκ. µέρους άρα 0.5625 10 = 0.1001 2 31
Παραδείγµατα µετατροπής πραγµατικών αριθµών από το δεκαδικό σύστηµα σε αριθµό µε βάση b 0.5625 10 0.5625 x 8 4).5000 1ο ψηφίο και συνεχίζω να πολλαπλ. µε το το 0.5000 x 8 4).0000 2ο ψηφίο άρα 0.5625 10 = 0. 44 8 32
Μετατροπή από δυαδικό σε βάση-2 q (οκταδικό, δεκαεξαδικό, ) Μοιράστε το δυαδικό αριθµό σε οµάδες των q bits (για το ακέραιο µέρος από την υποδιαστολή προς τα αριστερά, για το δεκαδικό µέρος από την υποδιαστολή προς τα δεξιά). Για κάθε οµάδα γράψτε το αντίστοιχο ψηφίο στη βάση-2 q. 33
Παραδείγµατα Παράδειγµα: 10111010.10 (2) χωρίζω ανα 3 και βάση του παρακάτω πίνακα έχω 010 111 010.100 (2) µε 2 7 2. 4 (8) 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 34
Παραδείγµατα Παράδειγµα: 10111010. 10 2 χωρίζω ανα 4 και βάση του παρακάτω πίνακα έχω: 1011 1010.1000 (2) B A. 8 (16) 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0111 0111 1000 1001 1010 1011 1100 1101 1110 1111 35
Μετατροπή από βάση 2 q ( οκταδικό, δεκαεξαδικό) σε δυαδικό Για κάθε ψηφίο των αριθµών γράψτε την δυαδική αναπαράστασή τους µε q bits. Πχ. 272.4 8 010 111 010.100 2 D C. 8 16 1011 1010.1000 2 36