Skip to main content

Τι είναι μια αριθμητική μετατόπιση;

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

Το παρακάτω είναι ένα παράδειγμα που χρησιμοποιεί δεκαδικούς αριθμούς που έχουν δέκα ως βάση.Όταν το 250 μετατοπίζεται αριθμητικά προς τα αριστερά, ο αριθμός που προκύπτει είναι 2500, ο οποίος είναι 250 πολλαπλασιασμένος με δέκα.Όταν το 250 αντιπροσωπεύεται χρησιμοποιώντας 4 ψηφία ως 0250, μετατοπίζεται αριθμητικά προς τα δεξιά, ο αριθμός που προκύπτει είναι 0025, ο οποίος είναι 250 διαιρούμενο με δέκα.Επομένως, είναι πιο σωστό να πούμε ότι μια αριθμητική μετατόπιση είναι ένας τρόπος πολλαπλασιασμού ή διαίρεσης αριθμών από τη βάση του συστήματος αριθμών. Οι δυαδικοί αριθμοί έχουν 2 ως βάση.Αντιπροσωπεύονται χρησιμοποιώντας 0s και 1s και μπορούν να υπογραφούν ή να μη υπογράψουν.Σε μια αριθμητική αριστερή μετατόπιση, οι αριθμοί μετατοπίζονται από ένα χώρο προς τα αριστερά με το μηδέν να τοποθετηθεί στα δεξιά.Σε μια αριθμητική δεξιά μετατόπιση, οι αριθμοί μετατοπίζονται κατά ένα χώρο προς τα δεξιά με τον αριστερό αριθμό να διατηρείται προς τα αριστερά.Σε γενικές γραμμές, μια μετατόπιση μπορεί να είναι για τους χώρους n.

Σε μη υπογεγραμμένους δυαδικούς αριθμούς, κάθε θέση είναι μια δύναμη 2, έτσι το δυαδικό 1 είναι δεκαδικό 1, το δυαδικό 10 είναι δεκαδικό 2, το δυαδικό 100 είναι δεκαδικό 4 και, ούτω καθεξής.Έτσι, το 0110 είναι δεκαδικό 6. Όταν πραγματοποιείται μια αριθμητική αριστερή μετατόπιση, ο προκύπτον αριθμός είναι 1100 που είναι δεκαδικό 12. Όταν πραγματοποιείται μια αριθμητική δεξιά μετατόπιση, ο προκύπτον αριθμός είναι 0011 που είναι δεκαδικό 3. ως αριθμοί μπορεί να είναι και οι δύοΧρησιμοποιούνται θετικοί και αρνητικοί, υπογεγραμμένοι δυαδικοί αριθμοί όπου το αριστερό bit είναι 0 για θετικό αριθμό ή μηδέν και 1 για αρνητικό αριθμό.Έτσι για τους αριθμούς 4-bit, 0111, που είναι δεκαδικό 7, είναι ο μεγαλύτερος θετικός αριθμός.Το σχέδιο που χρησιμοποιείται συχνότερα για αρνητικούς αριθμούς έχει 1111 ως δεκαδικό -1 και αυτό πηγαίνει μέχρι το 1000, το οποίο είναι δεκαδικό -8.1010, το οποίο είναι δεκαδικό -6.Μια αριθμητική δεξιά μετατόπιση στο 1010, η οποία είναι δεκαδική -6, έχει ως αποτέλεσμα το 1101, το οποίο είναι δεκαδικό -3.Παρατηρήστε ότι διατηρείται το αριστερό bit. Μια αριθμητική μετατόπιση δεν αντιστοιχεί πάντοτε στον πολλαπλασιασμό και τη διαίρεση για κάθε αριθμό στο σχήμα αριθμού.Υπάρχουν περιορισμοί σε κάθε άκρο του συστήματος αριθμών.Για παράδειγμα, η αριστερή μετατόπιση του 0111, δεκαδική 7, δίνει δεκαδική -2 και η σωστή μετατόπιση του 1111, δεκαδική -1, δίνει δεκαδική -1. Μια αριθμητική μετατόπιση έχει μια εγγενή απλότητα και μια μετατόπιση είναι πολύ πιο γρήγορηΕκτελέστε από τον κανονικό πολλαπλασιασμό και διαίρεση.Έτσι, οι υπολογιστές υποστηρίζουν αυτή τη λειτουργία χρησιμοποιώντας έναν σχετικά απλό μηχανισμό που ονομάζεται Μονάδα Μετατόπισης ή Μητρώο Μετατόπισης.Οι αξιωματικοί προγραμματιστές χρησιμοποιούν αυτή τη λειτουργία, εφόσον οι περιορισμοί που αναφέρονται παραπάνω είτε αποφεύγονται είτε ληφθούν μέριμνα.