Αναπαράσταση αρνητικών αριθμών

Τα δεδομένα σε ένα ψηφιακό σύστημα μπορεί να είναι αριθμοί ή χαρακτήρες τα οποία μπορούν να αναπαρασταθούν από μια ακολουθία δυαδικών ψηφίων. Όμως η δυσκολία βρίσκεται στην αναπαράσταση των αρνητικών αριθμών. Έχουν αναπτυχθεί τρεις διαφορετικές τεχνικές για την αναπαράσταση των αρνητικών αριθμών 1) πρόσημο και μέτρο 2) συμπλήρωμα ως προς ένα και 3) συμπλήρωμα ως προς δυο. Για την εκτέλεση πράξεων έχουν αναπτυχθεί κυκλώματα ψηφιακών συστημάτων που εκτελούν πρόσθεση και αφαίρεση προσημασμένων δυαδικών αριθμών.

Στα μαθηματικά δεν έχουμε περιορισμό στο πλήθος των θετικών και αρνητικών αριθμών. Σε ένα ψηφιακό σύστημα μπορούμε να αναπαραστήσουμε περιορισμένο πλήθος θετικών και αρνητικών αριθμών. Σε αυτό το εδάφιο κάνουμε την αναπαράσταση των αριθμών με 4bits. Έτσι θα μπορούμε να αναπαραστήσουμε 16 (= 24) ακεραίους από τους οποίους οι μισοί θα είναι θετικοί και οι άλλοι μισοί αρνητικοί. Οι αρνητικοί αριθμοί αναπαριστάνονται διαφορετικά ανάλογα με την τεχνική που θα αναφέρουμε παρακάτω.

Αναπαράσταση προσημασμένου μέτρου

Στην Αναπαράσταση Προσημασμένου Μέτρου το περισσότερο σημαντικό ψηφίο παριστάνει το πρόσημο του αριθμού, ενώ τα υπόλοιπα ψηφία αναπαριστούν το μέτρο του δυαδικού αριθμού. Αν το ψηφίο του προσήμου είναι 0, ο αριθμός είναι θετικός και αν το ψηφίο του προσήμου είναι 1 ο αριθμός είναι αρνητικός. Για να μετατρέψουμε ένα θετικό αριθμό σε αρνητικό, αντικαθιστούμε το ψηφίο του προσήμου («0») με το συμπλήρωμα του («1»)

Στο σχήμα φαίνεται ο «τροχός αριθμών» που χρησιμοποιείται για την αναπαράσταση των δυαδικών αριθμών 4bits. Εδώ οι δυαδικοί αριθμοί απεικονίζονται σε αναπαράσταση προσημασμένου μέτρου με τους ισοδύναμους ακεραίους αριθμούς. Ο μεγαλύτερος θετικός αριθμός που αναπαρίσταται με τρία ψηφία για το μέτρο είναι ο +7 = 23 – 1 ενώ ο μικρότερος αρνητικός αριθμός είναι ο -7. Με αυτό τον τρόπο το μηδέν έχει δυο διαφορετικές αναπαραστάσεις το +0 και -0 που δεν έχουν νόημα στα μαθηματικά.

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

Αναπαράσταση συμπληρώματος ως προς ένα

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

Το συμπλήρωμα ως προς ένα βρίσκεται με την αντικατάσταση κάθε bit του αριθμού με το συμπλήρωμα του (το συμπλήρωμα του 0 είναι το 1 ενώ εκείνο του 1 είναι το 0). Παράδειγμα, το συμπλήρωμα ως προς ένα του θετικού αριθμού +7=0111 είναι ο -7=1000.

Ο «τροχός των αριθμών» για την αναπαράσταση του συμπληρώματος ως προς ένα των αριθμών των 4bit φαίνεται στο σχήμα. Όλοι οι αρνητικοί αριθμοί έχουν 1 στο πρόσημο τους, ενώ οι θετικοί αριθμοί έχουν 0. Το μηδέν έχει δυο αναπαραστάσεις, όπως στην αναπαράσταση προσημασμένου μέτρου.

Η ευχέρεια των αριθμών συμπληρώματος ως προς ένα, είναι η ευκολία στην οποία μπορούμε να υπολογίσουμε αρνητικούς αριθμούς. Η αφαίρεση γίνεται προσθέτοντας στον μειωτέο τον αντίστοιχο αρνητικό του αφαιρετέου Α – Β = Α + (-Β). Όμως η αφαίρεση γίνεται δύσκολη λόγω της ύπαρξης δυο αναπαραστάσεων του μηδενός. Για να λύσουμε αυτό το πρόβλημα χρησιμοποιούμε την αναπαράσταση ως προς δυο, η οποία απλοποιεί την αφαίρεση.

Αναπαράσταση συμπληρώματος ως προς δυο

Στην αναπαράσταση του συμπληρώματος ως προς δυο, οι θετικοί αριθμοί και το μηδέν αναπαριστάνονται όπως στην αναπαράσταση προσημασμένου μέτρου. Κάθε αρνητικός αριθμός παριστάνεται με το συμπλήρωμα ως προς δυο του αντίστοιχου θετικού αριθμού. Στην αναπαράσταση συμπληρώματος ως προς δυο έχουμε μόνο μια αναπαράσταση για το μηδέν και όχι δυο όπως έχουμε στην αναπαράσταση συμπληρώματος ως προς ένα. Στο σχήμα φαίνεται η αναπαράσταση συμπληρώματος ως προς δυο των αριθμών των 4bits.

Το συμπλήρωμα ως προς δυο βρίσκεται προσθέτοντας το 1 στο συμπλήρωμα ως προς ένα του αριθμού. Παράδειγμα:  για τον θετικό αριθμό 7 έχουμε +7 = 0111 ενώ το συμπλήρωμα του ως προς ένα είναι 1000 και προσθέτοντας 1  παίρνουμε τον δυαδικό αριθμό 1001 που είναι η αναπαράσταση του αρνητικού αριθμού ως συμπληρώματος ως προς δυο του -7.

Ένας μνημονικός κανόνας για την εύρεση του συμπληρώματος ως προς δυο ενός αριθμού είναι ο εξής: Πηγαίνοντας από το λιγότερο σημαντικό ψηφίο (LSB) και μέχρι το πρώτο 1 που θα συναντήσουμε, τα bits διατηρούνται ως έχουν. Τα υπόλοιπα bits αντικαθίστανται από τα συμπληρώματα τους.

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