Τελεστές ολίσθησης |
Οι τελετές ολίσθησης αναφέρονται στη μετατόπιση δεξιά ή αριστερά των bits μιάς μεταβλητής των τύπων char, unsigned int και int. Οι τελετές έχουν τη μορφή a << n ολίσθηση αριστερά των bits της μεταβλητής a κατά n θέσεις a >> n ολίσθηση δεξιά των bits της μεταβλητής a κατά n θέσεις Οι θέσεις bits που μένουν κενές με την ολίσθηση γεμίζουν με 0. Παραδείγματα δίνονται στο πρόγραμμα SHIFTER.C. Το πρόγραμμα έχει δύο επαναλήψεις. Στην αρχή κάθε επανάληψης οι ακέραιοι small και big απαίρνουν τις τιμές 1 και 16384 (δεκαεξαδικό 4000) αντίστοιχα. Στη συνέχεια οι δύο ακέριαιοι υφίστανται μιά σειρά ολισθήσεις, δεξιές ο small και αριστερές ο big. Στη πρώτη επανάληψη οι ολισθήσεις είναι απλές ενώ στη δεύτερη διπλές. Διπαιστώνουμε οτι η δεξιά ολίσθηση ενός αριθμού κατά n θέσεις αντιστοιχεί σε πολλαπλασιασμό του αριθμού με 2n ενώ η αριστερή ολίσθηση αντιστοιχεί σε διάιρεση. 1 1 16384 4000 2 2 8192 2000 4 4 4096 1000 8 8 2048 800 16 10 1024 400 32 20 512 200 64 40 256 100 128 80 128 80 256 100 64 40 512 200 32 20 1024 400 16 10 2048 800 8 8 4096 1000 4 4 8192 2000 2 2 16384 4000 1 1 -32768 8000 0 0 0 0 0 0 1 1 16384 4000 4 4 4096 1000 16 10 1024 400 64 40 256 100 256 100 64 40 1024 400 16 10 4096 1000 4 4 16384 4000 1 1 0 0 0 0 |
![]() |
![]() |
![]() |