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

Για τη μετατροπή ενός αριθμού από το δεκαδικό σύστημα αρίθμησης στο δυαδικό εφαρμόζουμε τον παρακάτω αλγόριθμο.
α. Διαιρούμε τον αρχικό αριθμό με το 2
β. Σημειώνουμε το υπόλοιπο και διαιρούμε το πηλίκο πάλι με το 2.
γ. Επαναλαμβάνουμε το βήμα (β) για όσο το πηλίκο είναι μεγαλύτερο του 0
δ. Ο δυαδικός αριθμός αποτελείται από τα υπόλοιπα των διαιρέσεων ξεκινώντας από το τελευταίο (MSB) και καταλήγοντας στο πρώτο (LSB).

Διαιρούμε συνεχώς τον αριθμό στο δεκαδικό σύστημα αρίθμησης (π.χ. 23) με το δύο μέχρι το ακέραιο πηλίκο να γίνει 0.

23:2-> Πηλίκο 11, Υπόλοιπο 1 -> (μονάδες) - LSB

11:2-> Πηλίκο 5, Υπόλοιπο 1 -> (δυάδες)

5:2-> Πηλίκο 2, Υπόλοιπο 1 -> (τετράδες)

2:2-> Πηλίκο 1, Υπόλοιπο 0 -> (οκτάδες)

1:2-> Πηλίκο 0, Υπόλοιπο 1 -> (δεκαεξάδες) - MSB

Σχηματίζουμε τον δυαδικό αριθμό γράφοντας τα υπόλοιπα από το τέλος προς την αρχή. Ο αριθμός (23)10 αντιστοιχεί στον αριθμό (10111)2.
decimal-binary.png
Πηγή: http://goo.gl/B9Kodt
Δραστηριότητες
  • Χρησιμοποιώντας το μαθησιακό αντικείμενο Φωτόδεντρο: Μετατροπή από το δεκαδικό στο δυαδικό σύστημα (http://goo.gl/Expkjy), εισάγετε οποιονδήποτε αριθμό [0-255] και παρακολουθείστε την προσομοίωση της διαδικασίας μετατροπής του. Περιγράψτε τις δύο μεθόδους που χρησιμοποιεί η εφαρμογή.
decimal_binary_converter.jpg
Φωτόδεντρο: Μετατροπή από το δεκαδικό στο δυαδικό σύστημα



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

Η μετατροπή από το δεκαδικό σύστημα σε σύστημα με βάση r γίνεται με παρόμοιο τρόπο, διαιρώντας με το r αντί με το 2.
Για να μετατρέψουμε τον δεκαδικό 217 σε οκταδικό, διαιρούμε συνεχώς με το 8 μέχρι το ακέραιο πηλίκο να γίνει 0.

217:8 -> Πηλίκο 27, Υπόλοιπο 1 -> (μονάδες) - LSD

27:8 -> Πηλίκο 3, Υπόλοιπο 3 -> (οκτάδες)

3:8 -> Πηλίκο 0, Υπόλοιπο 3 -> (64άδες) - MSD

Ο αριθμός (217)10 αντιστοιχεί στον αριθμό (331)8


Ο αριθμός (37)10 αντιστοιχεί στον αριθμό (45)8
decimal_octal.png

Οκταδικοί και δεκαεξαδικοί αριθμοί

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

Για παράδειγμα ο αριθμός (1111111111111111)2 (16 ψηφία), αντιστοιχεί στον οκταδικό (177777)8 (6 ψηφία) και στον δεκαεξαδικό (FFFF)16 (4 ψηφία).
Eπειδή 23=8 και 24=16, για την αναπαράσταση ενός οκταδικού ψηφίου χρειάζονται το πολύ τρία δυαδικά ψηφία (8 δυνατοί συνδυασμοί των 3 ψηφίων), ενώ για την αναπαράσταση ενός δεκαεξαδικού ψηφίου χρειάζονται το πολύ τέσσερα δυαδικά ψηφία (16 δυνατοί συνδυασμοί των 4 ψηφίων).

3bit.jpg
Φωτόδεντρο: Αναπαράσταση αριθμών με δυαδικά ψηφία

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


Πίνακας αντιστοιχίας
Οκταδικό Ψηφίο
Τριάδα δυαδικών ψηφίων
Οκταδικό Ψηφίο
Τριάδα δυαδικών ψηφίων
0
000
4
100
1
001
5
101
2
010
6
110
3
011
7
111
Η μετατροπή ενός οκταδικού αριθμού σε δυαδικό γίνεται με τη μετατροπή κάθε οκταδικού ψηφίου στο αντίστοιχο δυαδικό, χρησιμοποιώντας τρία δυαδικά ψηφία (bit).
Για παράδειγμα (327)8 = (011 010 111)2
octal_to_binary.png
Πηγή: Octal to Binary
binary to octal.jpg

Πηγή: How to Convert Binary to Octal Number
Η μετατροπή από τo δυαδικό στο οκταδικό σύστημα γίνεται με την ομαδοποίηση των δυαδικών ψηφίων σε ομάδες των τριών bit, αρχίζοντας από το ψηφίο ελάχιστης σημαντικότητας (LSB) και μετατρέποντας κάθε ομάδα σε ένα οκταδικό ψηφίο.
Για παράδειγμα (1 001 101 001)2 = (1151)8

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


Πίνακας αντιστοιχίας
Δεκαεξαδικό Ψηφίο
Τετράδα δυαδικών ψηφίων
Δεκαεξαδικό Ψηφίο
Τετράδα δυαδικών ψηφίων
0
0000
8
1000
1
0001
9
1001
2
0010
A
1010
3
0011
B
1011
4
0100
C
1100
5
0101
D
1101
6
0110
E
1110
7
0111
F
1111
Οι αντίστοιχες μετατροπές ανάμεσα σε δυαδικό και δεκαεξαδικό σύστημα είναι παρόμοιες, με τη διαφορά ότι χρησιμοποιούνται ομάδες των τεσσάρων δυαδικών ψηφίων.
hexadecimal-to-binary1.jpg
Πηγή: Hexadecimal Numbering System
binary_to_hexadecimal.gif
Πηγή: Binary to hexadecimal numbers
Οι δεκαεξαδικοί αριθμοί έχουν το πλεονέκτημα ότι δύο δεκαεξαδικά ψηφία αντιστοιχούν σε οκτώ bit ή σε ένα byte. Για το λόγο αυτό χρησιμοποιούνται συχνότερα σε σχέση με τους οκταδικούς αριθμούς.

Δραστηριότητες
  • Θα μετατρέψετε αριθμούς σε διαφορετικά αριθμητικά συστήματα χρησιμοποιώντας


ΒΙΒΛΙΟΓΡΑΦΙΑ - ΑΝΑΦΟΡΕΣ
  • Bishop, P. (2000). Επιστήμη και Τεχνολογία Υπολογιστών, Πανεπιστημιακές Εκδόσεις ΕΜΠ, Αθήνα 2000
  • Σιδερίδης, Α., Γιαλούρης. Κ., Παπαδόπουλος. Α., Σταθόπουλος. Κ. (2001). Βασικές Αρχές Ψηφιακής Τεχνολογίας, Παιδαγωγικό Ινστιτούτο, Αθήνα. (Ανακτήθηκε 02/09/2015 από http://goo.gl/q8yHct)
  • ΤΕΙ Στερεάς Ελλάδας. Σημειώσεις για τα Αριθμητικά Συστήματα και τη μετατροπή βάσης αριθμού (Ανακτήθηκε 02/09/2015 από http://goo.gl/B9Kodt)

ΠΗΓΕΣ - ΥΛΙΚΟ ΓΙΑ ΕΠΙΠΛΕΟΝ ΜΕΛΕΤΗ
  • Σχ. Βιβλίο: Βασικές Αρχές Ψηφιακής Τεχνολογίας (1.3.5 Μετατροπή βάσης αριθμού)
  • 1.2.3 Σενάριο-1 Μετατροπές αριθμών από Δυαδικό σε Δεκαδικό και αντίστροφα, Κοντόση Κ. (https://goo.gl/xmG3xN)