(Πηγή: Βιβλίο Μαθητή, Πληροφορική Α΄ Γυμνασίου, §1.6 Ερωτήσεις-Ασκήσεις, σελ. 20. Οι εκφωνήσεις είναι αυτούσιες από το σχολικό βιβλίο.)
Να σχηματίσετε τη δυαδική αναπαράσταση των παρακάτω αριθμών: i) 2 ii) 2 · 2 iii) 2³ + 1 iv) 2³ + 2² + 2¹ v) 2⁵ + 2³ + 2² + 1 vi) 2⁵ + 2² + 1 vii) 2⁶ + 2² viii) 32 + 16 + 8 + 1
Σκέψη / Μεθοδολογία: Κάθε παράσταση είναι ήδη γραμμένη (ή μπορεί εύκολα να γραφτεί) ως άθροισμα δυνάμεων του 2. Αρκεί να βάλουμε ψηφίο 1 στη θέση κάθε δύναμης που εμφανίζεται στο άθροισμα, και 0 σε όλες τις υπόλοιπες θέσεις.
Λύση:
Απάντηση: i) 10₂ ii) 100₂ iii) 1001₂ iv) 1110₂ v) 101101₂ vi) 100101₂ vii) 1000100₂ viii) 111001₂
Πρόσεξε:
Να μετατρέψετε τους παρακάτω δυαδικούς αριθμούς στη δεκαδική τους αναπαράσταση: i) 11 ii) 100 iii) 101 iv) 1010 v) 10100 vi) 101010 vii) 100000 viii) 11111 ix) 111 x) 1000 xi) 1111111111 xii) 10000000000
Σκέψη / Μεθοδολογία: Για κάθε δυαδικό αριθμό, προσθέτουμε τις δυνάμεις του 2 που αντιστοιχούν στις θέσεις όπου υπάρχει ψηφίο 1 (μετρώντας θέσεις από δεξιά, ξεκινώντας από 2⁰).
Λύση:
Απάντηση: i) 3 ii) 4 iii) 5 iv) 10 v) 20 vi) 42 vii) 32 viii) 31 ix) 7 x) 8 xi) 1023 xii) 1024
Πρόσεξε:
Να μετατρέψετε τους παρακάτω δεκαδικούς αριθμούς στη δυαδική τους αναπαράσταση: i) 1 ii) 4 iii) 5 iv) 16 v) 15 vi) 32 vii) 33 viii) 100 ix) 1024 x) 1023 xi) 1025 xii) 255 xiii) 256 xiv) 257
Σκέψη / Μεθοδολογία: Βρίσκουμε τη μεγαλύτερη δύναμη του 2 που χωράει σε κάθε αριθμό και αφαιρούμε διαδοχικά (μέθοδος ανάλυσης σε δυνάμεις του 2), ή εφαρμόζουμε διαδοχικές διαιρέσεις με το 2. Παρατηρούμε ιδιαίτερα τα ζεύγη «δύναμη του 2» / «δύναμη του 2 μείον 1» και «δύναμη του 2 συν 1».
Λύση:
Απάντηση: i) 1 ii) 100 iii) 101 iv) 10000 v) 1111 vi) 100000 vii) 100001 viii) 1100100 ix) 10000000000 x) 1111111111 xi) 10000000001 xii) 11111111 xiii) 100000000 xiv) 100000001
Πρόσεξε:
Να μεταβείτε στην ιστοσελίδα https://www.python.org/ της γλώσσας Python και να κάνετε χρήση του διερμηνευτή για τη μετατροπή των παρακάτω αριθμών στο δυαδικό σύστημα. Για παράδειγμα, για να υπολογίσουμε τη δυαδική αναπαράσταση του αριθμού 496 γράφουμε bin(496). i) 2 ii) 8 iii) 16 iv) 32 v) 64 vi) 1024 vii) 1 viii) 7 ix) 15 x) 31 xi) 63 xii) 1023 Μελετήστε τα αποτελέσματα. Τι παρατηρείτε;
(Συνέχεια, χωρίς δικό της αριθμό κουτιού — ίδια δραστηριότητα 4) Να μεταβείτε ξανά στον διερμηνευτή της Python για τη μετατροπή των παρακάτω αριθμών στο δυαδικό σύστημα. Τι παρατηρείτε; i) 2¹⁰ ii) 2²⁰ iii) 2¹⁰⁰ iv) 2¹⁰⁰⁰ v) 2¹⁰⁰⁰⁰⁰⁰ Ο τελεστής της δύναμης στην Python είναι ο (διπλό αστεράκι· π.χ. 280 υπολογίζει το 2⁸⁰). Μπορείτε να μαντέψετε πόσα μηδενικά έχει η δυαδική αναπαράσταση του 2⁸⁰ χωρίς να τα μετρήσετε;
Σκέψη / Μεθοδολογία: Στο πρώτο μέρος, χωρίζουμε τους αριθμούς σε δύο ομάδες: αυτούς που είναι ακριβώς δυνάμεις του 2 (2, 8, 16, 32, 64, 1024) και αυτούς που είναι μία μονάδα μικρότεροι από δύναμη του 2 (1, 7, 15, 31, 63, 1023 = 2¹−1, 2³−1, 2⁴−1, 2⁵−1, 2⁶−1, 2¹⁰−1). Στο δεύτερο μέρος εφαρμόζουμε την ίδια παρατήρηση σε πολύ μεγάλες δυνάμεις του 2, χωρίς να χρειάζεται να μετρήσουμε ψηφία με το χέρι — απλώς μετράμε τον εκθέτη.
Λύση:
Ενδεικτική απάντηση: Κάθε 2ⁿ γράφεται στο δυαδικό ως «1» + n μηδενικά· κάθε 2ⁿ−1 γράφεται ως n άσσοι. Άρα το bin(2**80) έχει έναν άσσο ακολουθούμενο από ακριβώς 80 μηδενικά, χωρίς να χρειάζεται να τα μετρήσουμε.
Πρόσεξε: