Ολίσθηση (shift) ↩️↪️

Στα κυκλώματα των υπολογιστών, τα δεδομένα αποθηκεύονται σε δυαδική μορφή, δηλαδή αποτελούνται μόνο από τα ψηφία 0 και 1, ανεξάρτητα από το πώς τα ορίζει ο προγραμματιστής. Τα δεδομένα αυτά μπορεί να είναι ακέραιοι, πραγματικοί αριθμοί, χαρακτήρες κ.λπ., και αποθηκεύονται σε δυαδικό σύστημα.

Για παράδειγμα, ο αριθμός 17 στο δεκαδικό σύστημα ισοδυναμεί με τον δυαδικό αριθμό 00010001 (σε δυαδικό σύστημα). Αυτός ο δυαδικός αριθμός μπορεί να αποθηκευτεί σε ένα byte.

Μετακίνηση προς τα αριστερά (left shift) ⬅️

Αν μετακινήσουμε τα ψηφία αυτού του αριθμού κατά μία θέση προς τα αριστερά, προσθέτοντας ένα μηδενικό στο τέλος του αριθμού και αγνοώντας το αρχικό 0 (που βρίσκεται στα αριστερά), τότε προκύπτει ο δυαδικός αριθμός 00100010, ο οποίος ισοδυναμεί με τον αριθμό 34 στο δεκαδικό σύστημα.

Μετακίνηση προς τα δεξιά (right shift) ➡️

Αντίθετα, αν μετακινήσουμε τα ψηφία κατά μία θέση προς τα δεξιά, αποκόπτοντας το τελευταίο ψηφίο 1 και βάζοντας μηδενικό μπροστά, τότε ο δυαδικός αριθμός γίνεται 00001000, που ισοδυναμεί με τον δεκαδικό αριθμό 8.

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


Πολλαπλασιασμός αλά ρωσικά ✖️

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

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

Αλγόριθμος Πολλαπλασιασμός_αλά_ρωσικά
Δεδομένα // M1, M2 //
P ← 0
Όσο M2 > 0 επανάλαβε
    Αν M2 mod 2 = 1 τότε P ← P + M1
    M1 ← M1 * 2
    M2 ← M2 div 2
Τέλος_επανάληψης
Αποτελέσματα // P, το γινόμενο των ακεραίων M1,M2 //
Τέλος Πολλαπλασιασμός_αλά_ρωσικά

Πίνακας Υπολογισμού (Σχήμα 2.8)

M1M2Συνεισφορά στο άθροισμα
451945 ✔️
90990 ✔️
18040 ❌
36020 ❌
7201720 ✔️
Άθροισμα855