Δυαδικό σύστημα: Διαφορά μεταξύ των αναθεωρήσεων

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Mariafere (συζήτηση | συνεισφορές)
Mariafere (συζήτηση | συνεισφορές)
Γραμμή 39: Γραμμή 39:
Ένας εύκολος τρόπος για να κάνουμε τις μετατροπές από δυαδικό σε δεκαδικό και αντίστροφα φαίνονται στην εικόνα
Ένας εύκολος τρόπος για να κάνουμε τις μετατροπές από δυαδικό σε δεκαδικό και αντίστροφα φαίνονται στην εικόνα
<br />
<br />
Μετατροπή δυαδικού αριθμού στο δεκαδικό σύστημα αρίθμησης και αντίστροφα
Για να γίνει η μετατροπή χρησιμοποιώ την παρακάτω τεχνική :
• γράφω τις δυνάμεις του 2 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
• γράφω την αξία της κάθε δύναμης 128 64 32 16 8 4 2 1
• αν ο αριθμός μου είναι ο δυαδικός 111101 0 0 1 1 1 1 0 1
• όπου έχει μονάδα ο αριθμός προσθέτω την αντίστοιχη αξία στο δεκαδικό
32+ 16+ 8+ 4+ 1= 61


Για να γίνει το αντίστροφο χρησιμοποιώ την τεχνική της αφαίρεσης π.χ ο αριθμός 212
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
• από τον αριθμό μου αφαιρείται το 128 τότε 128 64 32 16 8 4 2 1
• κάνω την αφαίρεση 212-128 =84 και κάτω από 128 βάζω το 1 1
• όμοια συνεχίζω 84-64=20 και κάτω από το 64 βάζω το 1 1 1
• όμοια 20-32 δεν γίνεται άρα κάτω από το 32 βάζω το 0 1 1 0
• όμοια 20-16= 4 και κάτω από το 16 βάζω το 1 1 1 0 1
• είναι φανερό ότι 1 θα βάλω μόνο κάτω από το 4 και στα υπόλοιπα βάζω 0 1 1 0 1 0 1 0 0 =212

αν ο αριθμός μου είναι μεγαλύτερος από 255 τότε προσθέτω από αριστερά όσες δυνάμεις του 2 είναι απαραίτητες


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

Έκδοση από την 06:29, 19 Ιανουαρίου 2020

Το δυαδικό σύστημα αρίθμησης αναπαριστά αριθμητικές τιμές χρησιμοποιώντας δύο σύμβολα, το 0 και το 1. Πιο συγκεκριμένα, το δυαδικό είναι θεσιακό σύστημα με βάση το δύο. Κάθε ψηφίο ανήκει σε μία τάξη μεγέθους μεγαλύτερη κατά ένα από αυτήν του ψηφίου στα δεξιά του. Έτσι, κάθε ψηφίο ενός δυαδικού αριθμού από δεξιά προς τ' αριστερά δηλώνει μονάδα, δυάδα, τετράδα, οκτάδα κ.ο.κ.

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

Παράδειγμα

Ο δυαδικός αριθμός αναπαριστά ποσότητα ίση με 1 μονάδα , 0 δυάδες , 1 τετράδα και 1 οκτάδα . Διαβάζεται : "ένα,ένα,μηδέν,ένα με βάση 2". Ισούται δηλαδή με τον αριθμό 13 του δεκαδικού συστήματος, .

Δυαδικό σύστημα στους υπολογιστές

Η αποθήκευση και επεξεργασία των δεδομένων στους ηλεκτρονικούς υπολογιστές γίνεται ψηφιακά. Οδηγώντας, για παράδειγμα, την είσοδο ενός λογικού κυκλώματος με τάση ρεύματος μεγαλύτερη μιας συγκεκριμένης τιμής (π.χ +3 Volts) αναπαριστούμε το ψηφίο "1", ενώ οδηγώντας την είσοδο με τάση ρεύματος μικρότερη μιας συγκεκριμένης τιμής (π.χ +2 Volts) αναπαριστούμε το ψηφίο "0". Λόγω της σχετικά απλής υλοποίησης στα ηλεκτρονικά κυκλώματα το δυαδικό σύστημα χρησιμοποιείται εκτεταμένα στους ηλεκτρονικούς υπολογιστές για την αναπαράσταση αριθμητικών δεδομένων. Άλλα χρησιμοποιούμενα συστήματα είναι το σύστημα κινητής υποδιαστολής, το σύστημα σταθερής υποδιαστολής, η δυαδική κωδικοποίηση δεκαδικού, και άλλα.

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

Παράδειγμα μετατροπής αριθμού από βάση-10 σε βάση-2: Ο δεκαδικός 250 σημειώνεται σε πίνακα με δυνάμεις του 10 και μέσω πίνακα με δυνάμεις του 2 γίνεται η μετατροπή του στον αντίστοιχο δυαδικό 11111010.

Παρακάτω παρουσιάζεται μέσω παραδείγματος ένας απλός τρόπος μετατροπής φυσικών αριθμών από δεκαδική σε δυαδική μορφή.

Έστω ότι έχουμε τον αριθμό 1310, όπως στο αρχικό παράδειγμα. Γράφουμε τις δυνάμεις του 2, μέχρι να προκύψει αριθμός μεγαλύτερος ή ίσος από τον ζητούμενο αριθμό, οπότε σταματάμε στον αμέσως προηγούμενο.

20=1
21=2
22=4
23=8

Στην προκειμένη περίπτωση ο ζητούμενος αριθμός είναι το 13, άρα σταματάμε στο 23=8, γιατί 24=16>13. Παρατηρούμε ότι ο αριθμός 23 χωράει μια φορά στο 13, άρα σημειώνουμε x1. To αποτέλεσμα της αφαίρεσης είναι 5. Το 22 χωράει μια φορά στο 5 άρα σημειώνουμε x1. Μένει 1 , όμως το 21 δε χωράει στο ένα άρα σημειώνουμε x0. Τέλος το 20 χωράει μια φορά στο ένα , άρα σημειώνουμε x1.

13
-23 x1
5
-22 x1
1
-21 x0
1
-20 x1
0

Γράφοντας τις σημειώσεις στη σειρά από πάνω ως κάτω, προκύπτει ο αριθμός σε δυαδική μορφή. Δηλαδή, 11012 = 1310. Με τον ίδιο τρόπο μπορούμε να μετατρέψουμε έναν δεκαδικό αριθμό σε οποιοδήποτε σύστημα, χρησιμοποιώντας κάθε φορά τις δυνάμεις της βάσης του εκάστοτε συστήματος αρίθμησης (οκταδικό, δεκαεξαδικό κτλ.).

Μετατροπή από δυαδικό σε δεκαδικό και αντίστροφα

Ένας εύκολος τρόπος για να κάνουμε τις μετατροπές από δυαδικό σε δεκαδικό και αντίστροφα φαίνονται στην εικόνα
Μετατροπή δυαδικού αριθμού στο δεκαδικό σύστημα αρίθμησης και αντίστροφα Για να γίνει η μετατροπή χρησιμοποιώ την παρακάτω τεχνική : • γράφω τις δυνάμεις του 2 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 • γράφω την αξία της κάθε δύναμης 128 64 32 16 8 4 2 1 • αν ο αριθμός μου είναι ο δυαδικός 111101 0 0 1 1 1 1 0 1 • όπου έχει μονάδα ο αριθμός προσθέτω την αντίστοιχη αξία στο δεκαδικό

                                                                                                                                       32+   16+   8+    4+          1=   61                    


Για να γίνει το αντίστροφο χρησιμοποιώ την τεχνική της αφαίρεσης π.χ ο αριθμός 212

                                                                                             2^7     2^6         2^5          2^4       2^3         2^2      2^1     2^0

• από τον αριθμό μου αφαιρείται το 128 τότε 128 64 32 16 8 4 2 1 • κάνω την αφαίρεση 212-128 =84 και κάτω από 128 βάζω το 1 1 • όμοια συνεχίζω 84-64=20 και κάτω από το 64 βάζω το 1 1 1 • όμοια 20-32 δεν γίνεται άρα κάτω από το 32 βάζω το 0 1 1 0 • όμοια 20-16= 4 και κάτω από το 16 βάζω το 1 1 1 0 1 • είναι φανερό ότι 1 θα βάλω μόνο κάτω από το 4 και στα υπόλοιπα βάζω 0 1 1 0 1 0 1 0 0 =212

αν ο αριθμός μου είναι μεγαλύτερος από 255 τότε προσθέτω από αριστερά όσες δυνάμεις του 2 είναι απαραίτητες

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

Για την μετατροπή απο δυαδικό αριθμό σε δεκαεξαδικό ακολουθούμε τα παρακάτω βήματα:

1. Αρχίζοντας από το δεξιότερο ψηφίο του δυαδικού αριθμού το χωρίζουμε ανά 4 ψηφία μέχρι το αριστερότερο ψηφίο.

  Εάν η αριστερότερη τετράδα δεν συμπληρώνει 4 ψηφία, προσθέτουμε 0 στα αριστερά μέχρι να σχηματιστεί ολοκληρωμένη τετράδα.

2. Υπολογίζουμε τον δεκαεξαδικό αριθμό που προκύπτει για κάθε τετράδα σύμφωνα με την παρακάτω μέθοδο:

  Αρχίζοντας απο δεξιά κάθε στοιχείο αντιστοιχεί σε: 
  1ο ψηφίο: 20
  2ο ψηφίο: 21
  3ο ψηφίο: 22
  4ο ψηφίο: 23
  Όπου υπάρχει το ψηφίο 1 στην δυαδική τετράδα, προσθέτουμε το πιο πάνω αντίστοιχο αποτέλεσμα. 
  Το αποτέλεσμα που προκύπτει είναι σε δεκαδική μορφή. 
  Επομένως, απαιτείται μετατροπή του κάθε αριθμού σε δεκαεξαδικό αριθμό όπως στον παρακάτω πίνακα:
  
Τετράδα στο δυαδικό Δεκαδικός αριθμός Δεκαεξαδικός αριθμός
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 - Α
1011 - Β
1100 - C
1101 - D
1110 - E
1111 - F
"Data Recovery Programming", Tarun Tyagi, BPB Publications, New Delhi, India, ISBN 81-7656-922-4

http://www.datadoctor.biz/gr/data_recovery_programming_book_chapter4-page15.html

Πρόσθεση δυαδικών αριθμών

Για την πρόσθεση των δυαδικών αριθμών ισχύουν οι ακόλουθοι κανόνες:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 και 1 το κρατούμενο
1 + 1 + 1 = 1 και 1 το κρατούμενο

Έτσι για παράδειγμα, για να προσθέσουμε σε μορφή ψηφιολέξης (byte) τους αριθμούς 121 και 107, έχουμε:

(121) 01111001
(107) 01101011 +
(228) 11100100

Όπου η πρόσθεση αρχίζει όπως και στο δεκαδικό από τα δεξιά, δηλ. από την λιγότερο σημαντική θέση.

Αφαίρεση δυαδικών αριθμών

Για την αφαίρεση των δυαδικών αριθμών ισχύουν οι ακόλουθοι κανόνες:

0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1 και 1 το δανειζόμενο


Έτσι για παράδειγμα, για να αφαιρέσουμε σε μορφή ψηφιολέξης (byte) τους αριθμούς 121 και 107, έχουμε:

(121) 01111001
(107) 01101011 -
(014) 00001110

Όπου η αφαίρεση αρχίζει όπως και στο δεκαδικό από τα δεξιά, δηλ. από την λιγότερο σημαντική θέση.

Αναπαράσταση αρνητικών αριθμών στο δυαδικό σύστημα

Για να αναπαρασταθούν αρνητικοί αριθμοί με το δυαδικό σύστημα αρίθμησης χρησιμοποιούνται δύο βασικά τρόποι, το συμπλήρωμα ως προς 1 και το συμπλήρωμα ως προς 2.

Συμπλήρωμα ως προς 1

Σε αυτήν την μέθοδο αντιστρέφονται τα ψηφία του δυαδικού αριθμού, όπου δηλαδή 0 γίνεται 1 και όπου 1 γίνεται 0, και ο αριθμός που προκύπτει θεωρείται ο αρνητικός του πρώτου.

Έτσι για παράδειγμα, ο (θετικός) αριθμός 7 σε μορφή ψηφιολέξης (byte) είναι ο ακόλουθος:
0000 0111
και ο αρνητικός -7 σε μορφή συμπληρώματος ως προς 1 γίνεται:
1111 1000

Το πρόβλημα με την συγκεκριμένη μέθοδο είναι πως υπάρχουν δύο αναπαραστάσεις για το μηδέν:
0000 0000 (για ένα "θετικό" μηδέν)
και
1111 1111 (για ένα "αρνητικό" μηδέν)

Για να αντιμετωπιστεί αυτό το πρόβλημα δημιουργήθηκε μια δεύτερη μέθοδος, το συμπλήρωμα ως προς 2

Συμπλήρωμα ως προς 2

Στο συμπλήρωμα ως προς 2, μετά την αντιστροφή των δυαδικών ψηφίων προστίθεται επιπλέον ο αριθμός 1. Έτσι, και πάλι με παράδειγμα τον αριθμό 7 σε μορφή ψηφιολέξης (byte):
0000 0111
αντιστρέφουμε όπως στο συμπλήρωμα ως προς 1:
1111 1000
και τελικά προσθέτουμε το 1:
1111 1001

Πρόσημο και μέτρο

Υπάρχει και ένας τρίτος τρόπος αναπαράστασης των αρνητικών αριθμών, ο οποίος δε χρησιμοποιείται πολύ συχνά, αλλά είναι πιο προσιτός στον άνθρωπο , καθώς μοιάζει πολύ με τον τρόπο αναπαράστασης αρνητικών αριθμών στο δεκαδικό σύστημα.

Στο σύστημα αυτό, το πρώτο από αριστερά δυαδικό ψηφίο λαμβάνεται ως το πρόσημο του δυαδικού αριθμού, ενώ τα ψηφία που ακολουθούν χρησιμοποιούνται για τον υπολογισμό του μέτρου του. Αν το πρώτο ψηφίο από τα αριστερά είναι 0, ο αριθμός θεωρείται θετικός, ενώ αν το πρώτο ψηφίο από τα αριστερά είναι 1, ο αριθμός θεωρείται αρνητικός.

Έτσι, αν χρησιμοποιούμε 8 bits (δυαδικά ψηφία ) για την αναπαράσταση του αριθμού, το 7 είναι

00000111

ενώ , το -7 θα είναι αντίστοιχα

10000111

Δείτε επίσης