1 242 - Ειζαγωγή ζηοσς Η/Υ Τμήμα Μαθημαηικών, Πανεπιζηήμιο Ιωαννίνων Ακαδημαϊκό Έηος 2011-2012 Άρηια Α.Μ. (0-2-4-6-8) Φάρης Παπαδόποσλος 207δ, B όροθος Τηλ: 8224 e-mail: charis@cs.uoi.gr
Ωπολόγιο Ππόγπαμμα Μάξηηνο MON TUE WED THU FRI 1 2 5 6 7 8 9 12 13-Θ 14 15 16 19 20-Θ 21 22 23 26-Ε 27-Θ 28 29-Θ 30 MON TUE WED THU FRI 2-Ε 3-Θ 4 5 6 9 10 11 12 13 16 17 18 19 20 23-Ε 24-Θ 25 26 27 30-Ε Θ: μάθημα θεωπίαρ Ε: Υπνρξεσηηθά Δξγαζηήξηα Απξίιηνο Μάηνο MON TUE WED THU FRI 1 2 3 4 7 8-Θ 9 10 11 14-Δ 15-Θ 16 17 18 21-Δ 22-Θ 23 24 25 28-Δ* 29-Θ 30 31 Ινύληνο MON TUE WED THU FRI 1 4 5-Θ 6 7 8 11 12-Θ 13 14 15 18 19-Θ
3 Ύλη ηος μαθήμαηορ Αλαπαξάζηαζε δεδνκέλσλ ζηνλ ππνινγηζηή Λνγηθέο πύιεο (Άιγεβξα Boole) Πύιε ΝΟΤ Πύιεο OR, AND, XOR, Σπζηήκαηα Αξίζκεζεο Μεηαηξνπή αξηζκώλ δηαθνξεηηθώλ ζπζηεκάησλ Πξάμεηο κεηαμύ αξηζκώλ ελόο ζπζηήκαηνο αξίζκεζεο
Ππάξειρ με δςαδικούρ απιθμούρ 4 Ο ππνινγηζηήο κπνξεί λα εθηειέζεη Λογικέρ ππάξειρ Αξηζκεηηθέο πξάμεηο Οη πξάμεηο εθηεινύληαη Σε νκάδεο bits: δςαδικούρ απιθμούρ bytes ή πνιιαπιάζηά ηνπο
5 Bits & Bytes Bit H κηθξόηεξε ινγηθή πνζόηεηα (ε κηθξόηεξε κνλάδα δεδνκέλσλ) 0 ή 1. Byte Οκάδα 8 bits Η ειάρηζηε πνζόηεηα πνπ κπνξεί λα ρεηξηζηεί ν ππνινγηζηήο θαηά ηελ εθηέιεζε κηαο πξάμεο Μηα ζεηξά από bytes αλαπαξηζηά έλαλ δπαδηθό αξηζκό
6 Τν πεξηζζόηεξν ζεκαληηθό bit Η αναηομία ενόρ byte Τν ιηγόηεξν ζεκαληηθό bit bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Γηαηί είλαη απηή ε ζεηξά ησλ bits; Γηαηί ην ιηγόηεξν ζεκαληηθό bit είλαη δεμηά θαη ην πεξηζζόηεξν ζεκαληηθό αξηζηεξά; Θα θαλεί όηαλ κηιήζνπκε γηα απιθμηηικέρ ππάξειρ Πξνο ην παξόλ, ην byte είλαη απιώο κηα οκηάδα bits
Λογικέρ ππάξειρ με bits 7 είζνδνο (1 bit) μονομελήρ ππάξη (unary) έμνδνο (1 bit) είζνδνο A (1 bit) διμελήρ είζνδνο B (1 bit) ππάξη (binary) έμνδνο (1 bit) Πώο εθηειείηαη κηα πξάμε ζε νκάδεο bits;
8 Λογικέρ ππάξειρ με bits Μνλνκειήο ινγηθή πξάμε NOT (αληηζηξνθή) Γηκειείο ινγηθέο πξάμεηο AND (ινγηθό-και) OR (ινγηθό-η) XOR (απνθιεηζηηθό-η) Πξάμεηο ζε νκάδεο bits Δθαξκνγή ηεο πξάμεο ζηα αληίζηνηρα bits Γηκειείο πξάμεηο Μεηαμύ ησλ αληίζηνηρσλ bits ησλ δύν αξηζκώλ Σε όια ηα bytes ησλ αξηζκώλ
9 Δςαδική λογική: η πύλη NOT Αληηζηξνθή (NOT) Αληηζηξνθή ησλ bits Πίνακαρ Αλήθειαρ Α Υ 0 1 Σύμβολο Πύληρ NOT A Y (A ή Ā) 1 0
Ο ηελεζηήρ NOT ζε δςαδικούρ απιθμούρ 10 A 1 0 0 1 Y......... 1 0 1 0 0 1 1 0 0 0 NOT 0 1 1 0 0 1 1 1 H έμνδνο Y i εμαξηάηαη κόλν από ηελ είζνδν A i
11 Δςαδική λογική: η πύλη AND Λνγηθό ΚΑΙ (AND) απνηέιεζκα 1, κόλν όηαλ θαη ην Φ θαη ην Υ είλαη 1 0 AND X = 0 1 AND X = X Πίνακαρ Αλήθειαρ X Y AND 0 0 0 0 1 0 1 0 0 1 1 1 Σύμβολο Πύληρ AND X X AND Y Y
Ο ηελεζηήρ AND ζε δςαδικούρ απιθμούρ 12 1... 0 0 0... 0... 0 0... 0 1 1 0 0 1 1 0 0 0 AND 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0
Μάζκα AND: για να θέζοςμε bits ζηο 0 13 Ζηηούμενο: ζε ιέμε ησλ 8 bits λα ηεζνύλ ζε 0 ηα 3 ιηγόηεξν ζεκαληηθά bits. Δίζνδνο: Μάζθα: Έμνδνο: 1 0 0 1 1 0 1 1 AND 1 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 Η AND κάζθα πεξηέρεη: 0 ζηα bits πνπ ζα γίλνπλ 0 1 ζηα bits πνπ ζα παξακείλνπλ σο έρνπλ
14 Δςαδική λογική: η πύλη OR Λνγηθό Ή (OR) απνηέιεζκα 1, όηαλ Φ ή Υ ή θαη ηα δύν είλαη 1 1 OR X = 1 0 OR X = X Πίνακαρ Αλήθειαρ X Y OR 0 0 0 0 1 1 1 0 1 1 1 1 Σύμβολο Πύληρ OR X X OR Y Y
Ο ηελεζηήρ OR ζε δςαδικούρ απιθμούρ 15 1... 0 0 1... 0... 1 0... 0 1 1 0 0 1 1 0 0 0 OR 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1
Μάζκα OR: για να θέζοςμε bits ζηο 1 16 Ζηηούμενο: ζε ιέμε ησλ 8 bits λα ηεζνύλ ζε 1 ηα ηα bits 0,4 θαη 5. Δίζνδνο: Μάζθα: Έμνδνο: 1 0 0 1 1 0 1 1 OR 0 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 Η OR κάζθα πεξηέρεη: 1 ζηα bits πνπ ζα γίλνπλ 1 0 ζηα bits πνπ ζα παξακείλνπλ σο έρνπλ
17 Δςαδική λογική: η πύλη XOR Απνθιεηζηηθό Ή (XOR) απνηέιεζκα 1, όηαλ μόνο ηο Φ ή μόνο ηο Υ είλαη 1 1 XOR X = NOT X 0 XOR X = X Πίνακαρ Αλήθειαρ X Y XOR 0 0 0 0 1 1 1 0 1 1 1 0 Σύμβολο Πύληρ XOR X X XOR Y Y
Μάζκα XOR: για να ανηιζηπέτοςμε bits 18 Ζηηούμενο: ζε ιέμε ησλ 8 bits λα αληηζηξαθνύλ ηα bits 3,6 θαη 7. Δίζνδνο: Μάζθα: Έμνδνο: 1 0 0 1 1 0 1 1 XOR 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 Η XOR κάζθα πεξηέρεη: 1 ζηα bits πνπ ζα αληηζηξαθνύλ 0 ζηα bits πνπ ζα παξακείλνπλ σο έρνπλ
Λογικέρ Πύλερ (Σύνοτη) 19 Απνηεινύλ ηελ βάζε γηα ηνλ ζρεδηαζκό απιώλ πξάμεσλ Σπλζέηνληαο «πνιύπινθεο» πύιεο: X Y A X Y (X Y) X Y X Y S Z (XY) C
Σςζηήμαηα Απίθμηζηρ 20 Έλαο δεθαδηθόο αξηζκόο απνηειείηαη από κία αθνινπζία δεθαδηθώλ ςεθίσλ θαη ίζσο από κία ππνδηαζηνιή. Οπνηνζδήπνηε αξηζκόο εθθξάδεηαη σο : n d i i k Number 10 i Π.ρ. 3347.4 = 3x10 3 + 3x10 2 + 4x10 1 + 7x10 0 + 4x10-1 Τν ζύζηεκα απηό νλνκάδεηαη δεθαδηθό, ιόγσ ηνπ όηη σο εθζεηηθή βάζε έρεη επηιεγεί ην 10
Σςζηήμαηα Απίθμηζηρ 21 Π.ρ. 3347.4 = 3x10 3 + 3x10 2 + 4x10 1 + 7x10 0 + 4x10-1 n d i i k Number 10 i Τη εθθξάδνπλ ηα n θαη k ζην πάλω παξάδεηγκα; Αληίζηνηρα αξηζκεηηθά ζπζηήκαηα κε βάζε ην 2, 8 θαη 16 είλαη ην δπαδηθό, νθηαδηθό, δεθαεμαδηθό Έλα αξηζκεηηθό ζύζηεκα κε βάζε ην k απαηηεί k δηαθνξεηηθά ζύκβνια γηα ηελ αλαπαξάζηαζε ησλ ςεθίσλ
Θεζιακά Σςζηήμαηα 22 Π.ρ. 3347.4 = 3x10 3 + 3x10 2 + 4x10 1 + 7x10 0 + 4x10-1 Ο αξηζκόο: α 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 ή ( α n-1 α n-2 α 1 α 0 α -1 α -m ) r Ωο βάζε ή ξίδα ελόο ζεζηαθνύ ζπζηήκαηνο νξίδεηαη ην πιήζνο ησλ δηαθνξεηηθώλ ςεθίσλ: Γεθαδηθό: 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
Παπαδείγμαηα 23 (1673.42) 10 = 1x10 3 + 6x10 2 + 7x10 1 + 3x10 0 + 4x10-1 + 2x10-2 (100110) 2 = 1x2 5 + 0x2 4 + 0x2 3 + 1x2 2 + 1x2 1 + 0x2 0 = (38) 10 (372) 8 = 3x8 2 + 7x8 1 + 2x8 0 = (250) 10 (Α34F) 16 = Ax16 3 + 3x16 2 + 4x16 1 + Fx16 0 = (41807) 10
Μεηαηποπή από ηο δςαδικό ζηο δεκαδικό ζύζηημα 24 128 64 32 16 8 4 2 1 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Τν πεξηζζόηεξν ζεκαληηθό bit Τν ιηγόηεξν ζεκαληηθό bit 1 1 1 1 0 0 1 1 1x128 1x64 1x32 1x16 0x8 0x4 1x2 1x1 128 + 64 + 32 + 16 + 0 + 0 + 2 + 1 = = 243 (δεθαδηθό)
Μεηαηποπή δεκαδικού ζε δςαδικό 25 Από δεθαδηθό ζε δπαδηθό (Γηαδνρηθέο δηαηξέζεηο κε ην 2) : 2 4 3 1 1 2 1 1 6 0 0 3 0 0 1 5 1 7 1 3 1 1 1 0 0 Εμεηάδνληαο ην ππόινηπν ηεο δηαίξεζεο 0 1 1 1 1 0 0 1 1 = (243) 10
Μεηαηποπή δεκαδικού ζε δςαδικό 26 Τν ιηγόηεξν ζεκαληηθό bit 243 2 1 121 2 1 60 2 0 30 2 15 2 0 1 Τν πεξηζζόηεξν ζεκαληηθό bit 7 2 1 3 2 1 1 2 0 1 (243) 10 = (11110011) 2
Μεηαηποπή δεκαδικού ζε οκηαδικό 27 Από δεθαδηθό ζε 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
Μεηαηποπή δεκαδικού ζε οκηαδικό 28 Δπθνιόηεξα κε πίλαθεο κεηαηξνπήο από δπαδηθό ζε νθηαδηθό Γπαδηθό Οθηαδηθό 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 (411) 10 = (1 1 0 0 1 1 0 1 1) 2 6 3 3 (411) 10 = (633) 8
29 Σςνηομογπαθίερ δςαδικών απιθμών Γεθαεμαδηθό ζύζηεκα Οκαδνπνίεζε αλά 4 bits 0000 0 1000 8 0001 1 1001 9 0010 2 1010 Α 0011 3 1011 Β 0100 4 1100 C 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F
Παπάδειγμα ζηο δεκαεξαδικό ζύζηημα 30 Παξάδεηγκα: 1100100110010100 1100 1001 1001 0100 C 9 9 4 = ( C994 ) 16 Παξάδεηγκα: 10000101011110 0010 0001 0101 1110 2 1 5 E = ( 215E ) 16 Σπκπιήξσζε κε 0 ζηα αξηζηεξά Γελ αιιάδεη ηνλ αξηζκό, όπσο αθξηβώο θαη ζην δεθαδηθό ζύζηεκα
Παπάδειγμα ζηο δεκαεξαδικό ζύζηημα 31 Από δεθαδηθό ζε δεθαεμαδηθό : 0000 0 1000 8 0001 1 1001 9 (431) 10 = (1 1 0 1 0 1 1 1 1) 2 1 A F 0010 2 1010 Α 0011 3 1011 Β 0100 4 1100 C 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F
32 Φςζικοί απιθμοί (συπίρ ππόζημο) Άκεζε αληηζηνηρία 0000 0 0001 1 0010 2 Με n bits πεξηγξάθνληαη: Οη θπζηθνί αξηζκνί από 0 έσο θαη 2 n -1 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9
Mεηαηποπή δεκαδικού μέποςρ 33 Τν δεθαδηθό κέξνο (κεηά ηελ ππνδηαζηνιή) κπνξεί λα κεηαηξαπεί κε ζπλερήο πνιιαπιαζηαζκνύο. (Γειαδή, ην αληίζηξνθν ηνπ ππόινηπνπ δηαίξεζεο) 1. Πνιιαπιαζηάδνπκε ην δεθαδηθό κέξνο κε β (=βάζε ηνπ ζεζηαθνύ ζπζηήκαηνο) θαη παίξλνπκε ην πξώην ςεθίν αξηζηεξά ηεο ππνδηαζηνιήο 2. Αλ ην δεθαδηθό θνκκάηη πνπ έκεηλε είλαη 0 ηόηε ζηακάηα. Αιιηώο κε ην δεθαδηθό θνκκάηη πνπ έκεηλε ζπλερίδνπκε ζην βήκα 1. Υπάξρεη πεξίπησζε λα κελ ζηακαηήζεη ε πξνεγνύκελε κέζνδνο ιόγσ πεπεξαζκέλεο αθξίβεηαο: Π.ρ. ην 7/10 είλαη επαλαιακβαλόκελν δεθαδηθό κέξνο ζην δπαδηθό ζύζηεκα. Όπσο είλαη ην 1/3 γηα ην δεθαδηθό ζύζηεκα
Παπάδειγμα μεηαηποπήρ δεκαδικού μέποςρ (.2652) 10 σε οκταδικό 34 g0 = (.2652) 10 g1 = Dec(.2652*8) = (.1216) 10 d1 = 2 (8*.2652 = 2.1216) g2 = Dec(.1216*8) = (.9728) 10 d2 = 0 (8*.1216 = 0.9728) g3 = Dec(.9728*8) = (.7824) 10 d3 = 7 (8*.9728 = 7.7824) g4 = Dec(.7824*8) = (.2592) 10 d4 = 6 g5 = Dec(.2592*8) = (.0736) 10 d5 = 2............ Επομζνως: (.2652) 10 = (.20762 ) 8 = (.010000111110010 ) 2 (.1) 10 σε δυαδικό g0 = (.1) 10 g1 = Dec(0.1*2) = (0.2) 10 d1 = 0 g2 = Dec(0.2*2) = (0.4) 10 d2 = 0 g3 = Dec(0.4*2) = (0.8) 10 d3 = 0 g4 = Dec(0.8*2) = (0.6) 10 d4 = 1 g5 = Dec(0.6*2) = (0.2) 10 d5 = 1......... Eπομζνως: (0.1) 10 = (0.0001 1001 1001 1001...) 2
0.625 10 ζε δπαδηθό: 0.625 2 = 1.25 1 Κξάηα 1 θαη ζπλέρηζε 0.25 2 = 0.5 0 Κξάηα 0 θαη ζπλέρηζε. 0.5 2 = 1.0 1 Κξάηα 1 θαη ζηακάηα. 35 Δπνκέλσο: 0.625 10 = 0.101 2 4.75 10 ζε δπαδηθό: αθέξαην θνκκάηη: (4) 10 = 100 2 0.75 2 = 1.5 1 Κξάηα 1 θαη ζπλέρηζε 0.5 2 = 1.0 1 Κξάηα 1 θαη ζηακάηα. Δπνκέλσο: 4.75 10 = 100.11 2 1.7 10 ζε δπαδηθό: αθέξαην θνκκάηη: (1) 10 = 1 2 0.7 2 = 1.4 1 Κξάηα 1 θαη ζπλέρηζε 0.4 2 = 0.8 0 Κξάηα 0 θαη ζπλέρηζε 0.8 2 = 1.6 1 Κξάηα 1 θαη ζπλέρηζε 0.6 2 = 1.2 1 Κξάηα 1 θαη ζπλέρηζε 0.2 2 = 0.4 0 Κξάηα 0 θαη ζπλέρηζε 0.4 2 = 0.8 0 Κξάηα 0 θαη ζπλέρηζε Δπνκέλσο: 1.7 10 = 1.101100 2 (ράλνπκε πιεξνθνξία)
36 Απιθμηηικέρ ππάξειρ Οι βαζικέρ ππάξειρ Πξόζζεζε (ζα δνύκε) Αθαίξεζε (πην πνιύπινθε πξάμε) Άλλερ ππάξειρ Πνιιαπιαζηαζκόο Γηαίξεζε Δπίζεο: Τεηξαγσληθή ξίδα, ηξηγσλνκεηξηθέο ζπλαξηήζεηο, εθζεηηθά, ινγάξηζκνη θιπ.. Υινπνίεζε ζε πιηθό κε δηάθνξεο ηερληθέο Π.ρ κε πνιπώλπκα
Πποζθέηονηαρ 2 bits 37 bits άζξνηζκα θξαηνύκελν 0 + 0 0 0 0 + 1 1 0 1 + 0 1 0 1 + 1 0 1 Πνηα ινγηθή πύιε πινπνηεί (ππνινγίδεη) ην «άζξνηζκα»; ΝΟΤ, AND, OR, XOR
Ημιαθποιζηήρ (half-adder) 38 Πώο πινπνηνύκε ηελ πξόζζεζε κε βαζηθέο πύιεο; Α Β Σ Κ Α Β Σ Κ 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1
Πποζθέηονηαρ δςαδικούρ απιθμούρ (μη πποζημαζμένοςρ) 39 Κπαηούμενο 1 1 1 Α Απιθμόρ (119) 0 1 1 1 0 1 1 1 Β Απιθμόρ ( 88) 0 1 0 1 1 0 0 0 Άθποιζμα (207) 1 1 0 0 1 1 1 1 1. Αξηζκνί κε ίδην κήθνο (ίζνο αξηζκόο bits) 2. Αξρίδνληαο από ην ιηγόηεξν ζεκαληηθό bit (ην δεμηόηεξν) 3. Πξνζζέηνπκε δεύγε bits θαη κεηαθέξνπκε ην θξαηνύκελν (αλ ππάξρεη) πξνο ηα αξηζηεξά Τν πξνζζέηνπκε ζην επόκελν δεύγνο bits
Παπάδειγμα Ππόζθεζηρ 40 Πξόζζεζε δπαδηθώλ : 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
41 Τέλορ ηος μαθήμαηορ... Αλαπαξάζηαζε δεδνκέλσλ ζηνλ ππνινγηζηή Λνγηθέο πύιεο (Άιγεβξα Boole) Πύιε ΝΟΤ Πύιεο OR, AND, XOR, Σπζηήκαηα Αξίζκεζεο Μεηαηξνπή αξηζκώλ δηαθνξεηηθώλ ζπζηεκάησλ Πξάμεηο κεηαμύ αξηζκώλ ελόο ζπζηήκαηνο αξίζκεζεο Bonus-2: κέρξη ηελ Πέκπηε 31/5, ώξα 18:00