Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Παράσταση αριθμών

Η μνήμη κάθε υπολογιστή είναι οργανωμένη σε λέξεις (words), δηλαδή ομάδες των n bits (το n είναι συνήθως ένα πολλαπλάσιο του 8). Το n ονομάζεται μήκος λέξης (word length) του υπολογιστή. Κάθε αριθμός θα καταλαμβάνει χώρο όσο μία λέξη της μνήμης του υπολογιστή.

Με Ν δυαδικά ψηφία μπορούμε να παραστήσουμε 2Ν το πλήθος διαφορετικούς αριθμούς, τους Ο … 2Ν-1. Στην περίπτωση που θέλουμε με n δυαδικά ψηφία να παραστήσουμε προσημασμένους ακέραιους αριθμούς, τότε εκμεταλλευόμαστε το αριστερότερο bit (δηλαδή το MSB) του αριθμού, στο οποίο κωδικοποιούμε το πρόσημό του. Αν το πρόσημο έχει την τιμή Ο, τότε ο αριθμός είναι θετικός, ενώ αν έχει την τιμή 1 είναι αρνητικός. Με τα υπόλοιπα Ν-1 δυαδικά ψηφία κωδικοποιούμε την απόλυτη τιμή του αριθμού, δηλαδή το μέτρο του.

Οι αριθμοί 01110010(2) και 00000001 (2) είναι θετικοί, ενώ οι αριθμοί 11110010(2) και 11100001 (2) είναι αρνητικοί.

Ένα θετικό αριθμό τον παριστάνουμε θέτοντας το πιο σημαντικό bit (δηλαδή το πρόσημο) στην τιμή Ο, και τα υπόλοιπα n-1 bits στην τιμή του μέτρου του, δηλαδή στην τιμή του αριθμού. Επειδή ο μεγαλύτερος ακέραιος αριθμός που παριστάνεται με n-1 bits είναι ο 2n-1-1, η τιμή του αριθμού δεν μπορεί να ξεπερνά το όριο αυτό.

Σε έναν υπολογιστή όπου το μήκος λέξης είναι 8, ο αριθμός 23 θα παρασταθεί ως 00010111. Το αριστερότερο bit δηλώνει ότι ο αριθμός είναι θετικός, και τα υπόλοιπα bits περιέχουν τον αριθμό 23. Ο μεγαλύτερος θετικός αριθμός που μπορεί να αποθηκευθεί με 8 bits είναι ο 01111111, δηλαδή ο 127 (2 8-1 -1 = 2 7 -1 = 128-1).

Υπάρχουν τρεις διαφορετικοί τρόποι για να κωδικοποιήσουμε τους αρνητικούς προσημασμένους αριθμούς στα υπόλοιπα n-1 bits:

- Η παράσταση μέτρου - Η παράσταση συμπληρώματος ως προς 1 - Η παράσταση συμπληρώματος ως προς 2

Στη συνέχεια θα περιοριστούμε στην παράσταση συμπληρώματος ως προς 2.

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

Εάν το πιο σημαντικό ψηφίο του αριθμού είναι 1, τότε ο αριθμός είναι αρνητικός. Για να βρούμε το μέτρο του αριθμού πρέπει να υπολογίσουμε το συμπλήρωμα ως προς 2 και των n ψηφίων του (δηλαδή λαμβάνουμε υπόψη και το πρόσημο). Το συμπλήρωμα ως προς 2 ενός δυαδικού αριθμού βρίσκεται, εάν αντικαταστήσουμε το Ο με 1 και το 1 με Ο και στη συνέχεια προσθέσουμε 1.

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

Για να βρούμε την παράσταση συμπληρώματος ως προς 2 του αριθμού -17 σε ένα υπολογιστή με μήκος λέξης 16 bits, αρχικά θα γράψουμε τον αντίστοιχο θετικό (17) σε δυαδική μορφή, δηλαδή 0000000000010001. Στη συνέχεια θα αντικαταστήσουμε το Ο με 1 και το 1 με Ο στον αριθμό αυτό, και θα πάρουμε 1111111111101110. Στον αριθμό αυτό θα προσθέσουμε τον 1. Η τελική του παράσταση θα είναι λοιπόν 1111111111101111.

Για να βρούμε την τιμή που παριστάνει ο αριθμός 11100110 θα υπολογίσουμε το συμπλήρωμα του ως προς 2 μαζί με το πρόσημο. Αρχικά αντιστρέφουμε όλα τα ψηφία του και παίρνουμε 00011001. Μετά προσθέτουμε τον αριθμό 1, και έχουμε 00011001 + 1 = 00011010. Άρα το μέτρο του αριθμού είναι το 00011010(2) = 26(10) και ο αριθμός είναι ο -26.

Ο μέγιστος θετικός αριθμός που μπορεί να παρασταθεί στο σύστημα αυτό με λέξη μήκους n bits έχει την παράσταση: [pic] και είναι ο 2 n-1 -1

Ο ελάχιστος αρνητικός που μπορεί να παρασταθεί με μήκος λέξης n bits έχει την παράσταση: [pic]

Για να βρούμε την τιμή του αριθμού αυτού θα υπολογίσουμε το συμπλήρωμα του ως προς 2. Αντιστρέφουμε τα ψηφία του και παίρνουμε τον αριθμό 01111 … 1111 (2) και μετά προσθέτουμε 1, για να πάρουμε τον 10000…000(2) = 2 n-1. Άρα ο ελάχιστος αριθμός είναι ο -2 n-1.

Η παράσταση συμπληρώματος του 2 έχει από ό,τι βλέπουμε μία ιδιαιτερότητα: ο μικρότερος αρνητικός αριθμός που μπορούμε να παραστήσουμε έχει μεγαλύτερη απόλυτη τιμή (2 n-1) από το μεγαλύτερο θετικό (2 n-1 -1). Αυτό συμβαίνει γιατί ο αντίστοιχος του θετικός, ο 2 n-1, χρειάζεται και το ψηφίο του πρόσημου για να παρασταθεί.

Ας μην ξεχνάμε ότι οι έννοιες «συμπλήρωμα ως προς 2» και «παράσταση συμπληρώματος ως προς 2» είναι διαφορετικές. Το συμπλήρωμα ως προς 2 ενός αριθμού είναι το αποτέλεσμα της αντιστροφής των ψηφίων του αριθμού από Ο σε 1 και από 1 σε Ο, και της πρόσθεσης σε αυτόν του 1. Η παράσταση συμπληρώματος ως προς δύο χρησιμοποιεί το συμπλήρωμα ως προς 2 για να παραστήσει τους αρνητικούς αριθμούς.

Όπως στο δυαδικό σύστημα υπάρχει η παράσταση συμπληρώματος ως προς 2, έτσι και στο δεκαδικό σύστημα υπάρχει και η παράσταση συμπληρώματος ως προς 10.