Τν Γπαδηθό Σύζηεκα Αξίζκεζεο 1
Αιιαγή Πξνγξάκκαηνο Γηαιέμεηο Γεπηέξα 6-8κκ (Τκήκα Ι & ΙΙ) Δξγαζηήξην Πέκπηεο 9-11πκ (Οκάδα 4) Δπόκελεο 2 δηαιέμεηο από ηνλ Καζ. θ. Μεηξάθν 2
Πεξηερόκελα Σπζηήκαηα Αξίζκεζεο Γπαδηθό Οθηαδηθό Γεθαεμαδηθό Παξαδείγκαηα Κσδηθνπνίεζε δεδνκέλσλ Κώδηθαο ASCII Άιινη θώδηθεο Παξαδείγκαηα 3
Αξηζκνί Φπζηθνί Αξηζκνί (Peano) Τν κεδέλ είλαη θπζηθόο αξηζκόο Δάλ ν είλαη θπζηθόο αξηζκόο, ηόηε θαη ην ν+1 είλαη θπζηθόο αξηζκόο. Παξαδείγκαηα: 0, 1, 2, 3,... Αξλεηηθoί Αξηζκνί Αξηζκνί κηθξόηεξνη ηνπ κεδέλ (<0), θπζηθνί αξηζκνί κε αξλεηηθό πξόζεκν (-) Παξαδείγκαηα : -1, -2, -3,... 4
Αξηζκνί (ζςνέσεια) Αθέξαηνη Αξηζκνί Όινη νη θπζηθνί αξηζκνί θαη νη αξλεηηθνί αξηζκνί Παξαδείγκαηα :..., -2, -1, 0, 1, 2,... Ρεηνί (Rational) Αξηζκνί Έλαο αθέξαηνο ή ην θιάζκα δύν αθεξαίσλ αξηζκώλ Παξαδείγκαηα : -249, -1, 0, ¼, - ½ 5
Φπζηθνί Αξηζκνί Τί ζεκαίλεη ν αξηζκόο 143; 100 + 40 + 3 ; Εμαξηάηαη από ηε βάζε ηνπ ζπζηήκαηνο αξίζκεζεο πνπ ρξεζηκνπνηνύκε 6
Φπζηθνί Αξηζκνί 143 ζεκαίλεη 100 + 40 + 3 ζηε Bάζε 10 (δεθαδηθό ζύζηεκα αξίζκεζεο) (143) 10 = 1 x 10 2 + 4 x 10 + 3 (143) 6 = 1 x 6 2 + 4 x 6 + 3 = (63) 10 Η βάζε ελόο αξηζκνύ θαζνξίδεη ηνλ αξηζκό ησλ ςεθίσλ πνπ ρξεζηκνπνηνύληαη θαη ηελ ηηκή ηνπο. 7
Σεκεηνινγία Θέζεο 1 x 10² = 1 x 100 = 100 + 4 x 10¹ = 4 x 10 = 40 + 3 x 10º = 3 x 1 = 3 = 143 Ο αξηζκόο είλαη ζηε βάζε 10 Η δύλακε δείρλεη ηε ζέζε ηνπ ςεθίνπ 8
Σεκεηνινγία Θέζεο Σαλ ηύπνο: B είλαη ε βάζε d n * R n-1 + d n-1 * R n-2 +... + d 2 * R + d 1 n είλαη ν αξηζκόο ησλ ςεθίσλ d είλαη ην ςεθίν ζηελ i νζηή ζέζε 642 είλαη: 6 3 * 10 2 + 4 2 * 10 1 + 2 1 * 10 0 9
Σπζηήκαηα Αξίζκεζεο Τα ζπλεζέζηεξα αξηζκεηηθά ζπζηήκαηα είλαη ην δεθαδηθό θαη απηά πνπ απνηεινύλ δπλάκεηο ηνπ δύν: Γεθαδηθό ζύζηεκα (Βάζε: ην 10, Σύκβνια: 0,1,2,3,4,5,6,7,8,9) Γπαδηθό ζύζηεκα (Βάζε: ην 2, Σύκβνια: 0,1) Οθηαδηθό ζύζηεκα (Βάζε: ην 8, Σύκβνια: 0,1,2,3,4,5,6,7) Γεθαεμαδηθό ζύζηεκα (Βάζε: ην 16, Σύκβνια: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) 10
Γπαδηθό ζύζηεκα Τν δεθαδηθό (Decimal) ζύζηεκα έρεη ζαλ βάζε ην 10 θαη έρεη 10 ςεθία: 0,1,2,3,4,5,6,7,8,9 Τν δπαδηθό (Binary) ζύζηεκα έρεη ζαλ βάζε ην 2 θαη έρεη δύν ςεθία: 0,1 Γηα λα ππάξρεη έλαο αξηζκόο ζε θάπνην ζύζηεκα πξέπεη ην ζύζηεκα λα πεξηέρεη όια ηα ςεθία ηνπ αξηζκνύ. Π.ρ Ο αξηζκόο 284 ππάξρεη κόλν ζηε βάζε 9 θαη πάλσ. 11
Γπαδηθό ζύζηεκα Έθθξαζε αξηζκώλ κε βάζε ηηο δπλάκεηο ηνπ 2: 10001: 1x2 4 +0x2 3 +0x2 2 +0x2 1 +1x2 0 =17 (δεκαδικό ζύζηημα: 1x10 1 +7x10 0 ) 110001: 1x2 5 +1x2 4 +0x2 3 +0x2 2 +0x2 1 +1x2 0 =49 (δεκαδικό ζύζηημα: 4x10 1 +9x10 0 ) Η αλαπαξάζηαζε αξηζκώλ ζην δπαδηθό ζύζηεκα απαηηεί κεγάιν αξηζκό ςεθίσλ! 12
Μεηαηξνπή αξηζκώλ από ην δπαδηθό ζην δεθαδηθό Παξαζέηνπκε ζε θάζεην ζρεκαηηζκό ηνλ δπαδηθό αξηζκό από ην ηέινο πξνο ηελ αξρή. Σε θάζε γξακκή αληηζηνηρνύκε κηα δύλακε ηνπ 2 αξρίδνληαο από ην 0. Έζησ ν δπαδηθόο αξηζκόο 100010: 0x2 0 = 0 1x2 1 = 2 0x2 2 = 0 0x2 3 = 0 0x2 4 = 0 1x2 5 =32 Λακβάλνπκε ην άζξνηζκα:(0+2+0+0+0+32= 34) 13
Μεηαηξνπή αξηζκώλ από ην δπαδηθό ζην δεθαδηθό Πνηό είλαη ην δεθαδηθό αληίζηνηρν ηνπ δπαδηθνύ αξηζκνύ 1101110? 0 x 2º = 0 x 1 = 0 1 x 2 1 = 1 x 2 = 2 1 x 2 2 = 1 x 4 = 4 1 x 2 3 = 1 x 8 = 8 0 x 2 4 = 0 x 16 = 0 1 x 2 5 = 1 x 32 = 32 1 x 2 6 = 1 x 64 = 64 = 110 ζηε βάζε 10 14
Μεηαηξνπή αξηζκώλ από ην δεθαδηθό ζην δπαδηθό Δηαηξνύκε ζπλερώο ην δεθαδηθό λνύκεξν(π.ρ. 34) κε ην δύν κέρξη ην πειίθν λα γίλεη 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 15
Γπαδηθό ζύζηεκα θαη Η.Υ. Τα ειεθηξνληθά θπθιώκαηα πνπ ρξεζηκνπνηνύληαη ζηνπο Η/Υ κπνξνύλ λα επξίζθνληαη ζε κία από δύν θαηαζηάζεηο: Αλνηρηό - θιεηζηό Αιεζέο - ςεπδέο Αγσγή ξεύκαηνο - Γηαθνπή ξεύκαηνο Ηιεθηξνληθά θπθιώκαηα πνπ κπνξνύλ λα βξίζθνληαη ζε δύν θαηαζηάζεηο ιέγνληαη ςεθηαθά Η θαηάιιειε δηαζύλδεζε ςεθηαθώλ θπθισκάησλ επηηξέπεη ηελ απνζήθεπζε θαη επεμεξγαζία δεδνκέλσλ ζε ςεθηαθή κνξθή Γηα παξάδεηγκα, έλαο δηαθόπηεο κπνξεί λα είλαη είηε θιεηζηόο (on - 1), είηε αλνηθηόο (off - 0) 16
Γπαδηθό ζύζηεκα θαη Η.Υ. Οη ειεθηξνληθνί ππνινγηζηέο ρξεζηκνπνηνύλ κνλάδεο απνζήθεπζεο πνπ νλνκάδνληαη δπαδηθά ςεθία (binary digits) ή bits: Κάζε κνλάδα απνζήθεπζεο ζηνλ ππνινγηζηή πεξηέρεη είηε έλα ρακειήο-ηάζεο ζήκα είηε έλα πςειήο-ηάζεο ζήκα. Φακειή Τάζε = Καηάζηαζε 0 Υςειή Τάζε = Καηάζηαζε 1 Όια ηα δεδνκέλα ζηνλ ππνινγηζηή απνζεθεύνληαη ζε bits. ηα δπαδηθά ςεθία κπνξνύλ λα είλαη 0 ή 1 17
Οκαδνπνίεζε δπαδηθώλ ςεθίσλ Bit (Binary digit Γπαδηθό ςεθίν): ε κηθξόηεξε πνζόηεηα πιεξνθνξίαο ε κηθξόηεξε κνλάδα δεδνκέλσλ πνπ κπνξεί λα απνζεθεπηεί ζε έλα ππνινγηζηή (1010 -> 4 bits, 10001010 -> 8 bits) Byte: Μηα αθνινπζία 8 δπαδηθώλ ςεθίσλ (1 byte = 8 bits) KiloByte (KB)= 2 10 =1024Bytes MegaByte (MB)= 2 10 KB= 1048576 bytes Gigabyte (GB)= 2 10 MB=2 30 Bytes TeraByte (TB)= 2 10 GB Οη Η/Υ επεμεξγάδνληαη δεδνκέλα αλά ιέμεηο. Κάζε ιέμε αληηζηνηρεί ζε έλα ζπγθεθξηκέλν αξηζκό από bytes ( νκάδα από 1 ή πεξηζζόηεξα bytes). Κάζε Η/Υ αληηζηνηρεί ζε έλα ραξαθηεξηζηηθό κήθνο ιέμεο (8, 32, ή 64 bits) Ο αξηζκόο ησλ bits ζε κηα ιέμε είλαη γλσζηό σο ην μήκορ λέξηρ Η/Υ Π.ρ. Έρνπκε 32-bit Η/Υ ή 64-bit Η/Υ, αλάινγα κε ηελ αξρηηεθηνληθή πνπ ππνζηεξίδεη. 18
Κσδηθνπνίεζε δεδνκέλσλ Οη ππνινγηζηέο αλαπαξηζηνύλ θάζε είδνπο δεδνκέλα (αξηζκνύο, γξάκκαηα, ζεκεία ζηίμεο, ήρν, εηθόλα, βίληεν) κέζσ αθνινπζηώλ από δπαδηθά ςεθία. Γηα ην ζθνπό απηό ρξεζηκνπνηνύληαη θώδηθεο. Πξνθεηκέλνπ όινη νη ππνινγηζηέο λα έρνπλ κηα θνηλή αλαπαξάζηαζε δεδνκέλσλ, δειαδή θάζε αιθαξηζκεηηθόο ραξαθηήξαο λα έρεη σο αλαπαξάζηαζε ζπγθεθξηκέλε αθνινπζία δπαδηθώλ ςεθίσλ, δεκηνπξγήζεθε έλα θνηλό πξόηππν: ε ASCII (American Standard Code for Information Interchange Ακεξηθαληθό Ιλζηηηνύην Δζληθώλ Πξνηύπσλ). Φξήζε 8 bits γηα ηελ αλαπαξάζηαζε θάζε ραξαθηήξα Σύλνιν: 2 8 = 256 ραξαθηήξεο 0 255 θώδηθεο 19
Κσδηθνπνίεζε Γεδνκέλσλ κε βάζε ηνλ θώδηθα ASCII 20
Παξάδεηγκα Κσδηθνπνίεζεο Γεδνκέλσλ Τα δεδνκέλα πνπ εηζάγνληαη ζηνλ Η/Υ θσδηθνπνηνύληαη ζε ςεθηαθή κνξθή πξνθεηκέλνπ λα κπνξεί λα ηα απνζεθεύζεη θαη επεμεξγαζηεί: 21
Άιινη θώδηθεο Unicode Χξήζε 16 bits γηα ηελ αλαπαξάζηαζε θάζε ραξαθηήξα. Φξήζηκν γηα δηεζλείο γιώζζεο: αλαπαξάζηαζε θάζε ραξαθηήξα ζε θάζε γιώζζα πνπ ρξεζηκνπνηείηαη ζε όιν ηνλ θόζκν. Σύλνιν: 2 16 = 65536 ραξαθηήξεο! Οη πξώηνη 256 ραξαθηήξεο ζην Unicode πξόηππν αληηζηνηρνύλ αθξηβώο κε ην ASCII πξόηππν. 22
Παξαδείγκαηα Η αθνινπζία ραξαθηήξσλ copy ζε δπαδηθή κνξθή έρεη σο εμήο: 01000011 01101111 01110000 01111001 Απαηηεί γηα απνζήθεπζε: 4 bytes Άζθεζε Η αθνινπζία ραξαθηήξσλ boy ζε ςεθηαθή κνξθή Πνηα είλαη ε ρσξεηηθόηεηά ηεο (ζε bytes); 23
Γπαδηθή Λνγηθή Αζρνιείηαη κε δπαδηθέο κεηαβιεηέο πνπ παίξλνπλ 2 δηαθξηηέο ηηκέο (0 θαη 1) θαη κε ινγηθέο (δπαδηθέο) πξάμεηο. 3 βαζηθέο πξάμεηο: AND, OR, NOT Γπαδηθέο/Λνγηθέο κεηαβιεηέο αλαπαξηζηνύληαη από γξάκκαηα: A,B,C,,X,Y,Z 24
Σπλαξηήζεηο Γπαδηθήο Λνγηθήο F(vars) = έθθξαζε Σύμξλξ δραδικώμ μεηαβληηώμ Τελεζηέπ ( +,, ) Μεηαβληηέπ Σηαθεοέπ ( 0, 1 ) Ομαδξπξίηζη (παοεμθέζειπ) Παξάδεηγκα: F(a,b) = a b + b G(x,y,z) = x (y+z ) 25
Βαζηθνί Λνγηθνί Τειεζηέο AND (επίζεο:, ) OR (επίζεο: +, ) NOT (επίζεο:, ) Δραδικξί (Binary) Mξμαδιαίξπ (Unary) F(a,b) = a b, δηαβ. F = 1 αλ θαη κόλν αλ a=b=1 G(a,b) = a+b, δηαβ. G = 1 αλ a =1 ή αλ b=1 H(a) = a, δηαβ. H = 1 αλ a = 0 26
Βαζηθνί Λνγηθνί Τειεζηέο (ζπλ.) Λνγηθό AND ελόο bit (1-bit), κνηάδεη κε δπαδηθό πνιιαπιαζηαζκό: 0 0 = 0, 0 1 = 0, 1 0 = 0, 1 1 = 1 Λνγηθό OR ελόο bit (1-bit), κνηάδεη κε δπαδηθή πξόζζεζε, εθηόο από κία πξάμε: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 1 ( 10 2 ) 27
Πίλαθεο Αιεζείαο (Truth Tables) γηα Λνγηθέο Πξάμεηο Πίλαθαο Αιεζείαο: κνξθή πίλαθα πνπ εθθξάδεη κνλαδηθά ηε ζρέζε κεηαμύ ησλ κεηαβιεηώλ εηζόδνπ κηαο ζπλάξηεζεο θαη ησλ εμόδσλ ηεο AND 2-Ειζόδωμ A B F=A B 0 0 0 0 1 0 1 0 0 1 1 1 OR 2-Ειζόδωμ A B F=A+ B 0 0 0 0 1 1 1 0 1 1 1 1 NOT A F=A 0 1 1 0 28
Πίλαθεο Αιεζείαο (ζπλ.) Δξώηεζε: Η ζπλάξηεζε F( ) εμαξηάηαη από n κεηαβιεηέο. Πόζεο γξακκέο ππάξρνπλ ζηνλ αιεζνπίλαθα ηνπ F( ); Απάληεζε: 2 n γξακκέο, αθνύ ππάξρνπλ 2 n πηζαλνί δπαδηθνί ζπλδπαζκνί (patterns) γηα n κεηαβιεηέο 29
Λνγηθέο Πύιεο Οη ινγηθέο πύιεο είλαη αθαηξεηηθά κνληέια ζηνηρείσλ ειεθηξνληθώλ θπθισκάησλ πνπ ιεηηνπξγνύλ κε έλα ή πεξηζζόηεξα ζήκαηα εηζόδνπ θαη παξάγνπλ έλα ζήκα εμόδνπ. AND 2-Ειζόδωμ OR 2-Ειζόδωμ NOT (Αμηιζηοξθέαπ) A B F = A B A F G A H B G = A+B H = A 30
Φξνληθό Σρεδηάγξακκα (Κπκαηνκνξθή -- Waveform) t 0 t 1 t 2 t 3 t 4 t 5 t 6 Σήμαηα ειζόδξρ A B 1 0 1 0 Μεηαβάζειπ Σήμαηα ενόδξρ πρλώμ F=A B G=A+B H=A 1 0 1 0 1 0 Ποξϋπόθεζη: Ο ςοόμξπ μεηάδξζηπ ηξρ ζήμαηξπ μεηανύ πρλώμ είμαι αμεληηέξπ (0) 31
Σπλδπαζηηθά Λνγηθά Κπθιώκαηα από Λνγηθέο Σπλαξηήζεηο Θεσξήζηε ηελ ζπλάξηεζε F = A + B C + A B Έλα ζπλδπαζηηθό θύθισκα κπνξεί λα θαηαζθεπαζηεί γηα ηελ πινπνίεζε ηεο F, κε ηελ θαηάιιειε έλσζε ζεκάησλ εηζόδνπ θαη ινγηθώλ ππιώλ: Σήκαηα εηζόδνπ από ηηο κεηαβιεηέο ηεο ζπλάξηεζεο (A, B, C) Σήκαηα εμόδνπ ζπλάξηεζε εμόδνπ (F) Λνγηθέο Πύιεο από ινγηθέο πξάμεηο C A F B 32
Σπλδπαζηηθά Λνγηθά Κπθιώκαηα από Λνγηθέο Σπλαξηήζεηο (ζπλ.) Γηα λα ζρεδηάζνπκε έλα απνδνηηθό θύθισκα πξέπεη λα ειαρηζηνπνηήζνπκε ην κέγεζνο ηνπ θπθιώκαηνο (circuit size) θαη ηελ θαζπζηέξεζε δηάδνζεο (propagation delay = ρξόλνο πνπ ρξεηάδεηαη έλα ζήκα εηζόδνπ λα αιιάμεη θαη λα γίλεη αληηιεπηό ζηελ έμνδν) Σηνλ πίλαθα αιεζείαο δίπια: F = A + B C + A B θαη G = A + B C Οη πίλαθεο γηα ηηο F θαη G είλαη νη ίδηνη ίδηα ζπλάξηεζε (F = G) Η G πινπνηεί ηελ ινγηθή ηνπ θπθιώκαηνο (κε ιηγόηεξα ζηνηρεία) A B C F G 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0 33
Σπλδπαζηηθά Λνγηθά Κπθιώκαηα από Λνγηθέο Σπλαξηήζεηο (ζπλ.) C A F B F = G C B A G 34
Άιγεβξα Boole Φξήζηκνο κεραληζκόο γηα ηνλ ρεηξηζκό / κεηαζρεκαηηζκό (απινπνίεζε) δπαδηθώλ ζπλαξηήζεσλ. George Boole (1815-1864): Μηα έξεπλα γηα ηνπο λόκνπο ηεο ζθέςεο Οξνινγία: Παπάγονηαρ (Literal) : Μεηαβιεηή ή ην ζπκπιήξσκα ηεο Όπορ παπαγόνηων (Τerm): πινπνηνύλ κηα πύιε Πολλαπλαζιαζηικόρ όπορ (Product term): παξάγνληεο ελσκέλνη κε (AND) Αθποιζηικόρ όπορ (Sum term): παξάγνληεο ελσκέλνη κε + (OR) 35
Αμηώκαηα Άιγεβξαο Boole X: δπαδηθή κεηαβιεηή, 0,1: ζηαζεξνί 1. X + 0 = X -- αμίσκα κεδεληθόηεηαο (νπδέηεξν ζηνηρείν σο πξνο +) 2. X 1 = X -- κνλαδηαίν αμίσκα (νπδέηεξν ζηνηρείν σο πξνο ) 3. X + 1 = 1 -- κνλαδηαία ηδηόηεηα 4. X 0 = 0 -- ηδηόηεηα κεδεληθόηεηαο 5. X + X = 1 -- Σπκπιήξσκα (σο πξνο +) 6. X X = 0 -- Σπκπιήξσκα (σο πξνο ) 36
Βαζηθά Θεσξήκαηα Boole X: δπαδηθή κεηαβιεηή, 0,1: ζηαζεξνί 7. X + X = X -- Idempotence (σο πξνο +) 8. X X = X -- Idempotence (σο πξνο ) 9. (X ) = X -- Involution (δύν αξλήζεηο) 37
Άιιεο Ιδηόηεηεο/Θεσξήκαηα Άιγεβξαο Boole Φ, Υ και Ζ: λξγικέπ μεηαβληηέπ 10. X + Y = Y + X 11. X Y = Y X --Αληηκεηαζεηηθή 12. X + (Y+Z) = (X+Y) + Z 13. X (Y Z) = (X Y) Z --Πξνζεηαηξηζηηθό 14. X (Y+Z) = X Y + X Z 15. X+(Y Z) = (X+Y) (X+Z) -- Δπηκεξηζηηθή 16. (X + Y) = X Y 17. (X Y) = X + Y -- DeMorgan Γεληθά, ζην DeMorgan: ( Φ η ) = (Φ η ), π.ρ. ( X 1 + X 2 + + X n ) = X 1 X 2 X n i = 1..n ( Φ η ) = (Φ η ), π.ρ. ( X 1 X 2 X n ) = X 1 + X 2 + + X n i = 1..n i = 1..n i = 1..n 38
Digital circuits Two logical values Binary 0 (signal between 0 and 1 volt) Binary 1 (signal between 2 and 5 volts) Gates are small electronic devices that compute various functions of these twovalued signals 39
Transistor Inverter (NOT Gate) When the input voltage, V in, is below a critical value the transistor turns off and acts like an infinite resistance, so V out is very close to V cc, an externally regulated voltage (typically 5 V) When V in exceeds the critical value the transistor switches on and acts like a wire, causing V out to be pulled down to ground (0 V) 40
NAND Gate If both V 1 and V 2 are high, both transistors will conduct and V out will be low If either V 1 or V 2 is low the corresponding transistor will turn off and the V out will be high 41
NOR Gate If either V 1 or V 2 is high the corresponding transistor will turn on and V out will be pulled to ground (0 V) If both V 1 and V 2 are low then V out will remain high 42
Gates and Boolean Algebra 43
The Majority Function 44
The Majority Function 45
The Majority Function 46
The Majority Function 47
The Majority Function 48