Операции сдвига

Операции сдвига заключается в одновременном смещении цифр числа на фиксированное число разрядов влево или вправо.

Логический сдвиг – смещение всей числовой последовательности (слова) включая разряд знака, при котором в освободившиеся при сдвиге k разрядов записываются нули.

k – константа сдвига.

Циклический сдвиг - смещение всей числовой последовательности (слова), при котором, цифры выходящие за пределы разрядной сетки, снова вводятся в освобождающиеся позиции слова.

Арифметический сдвиг – сдвиг всей числовой последовательности (слова) без изменения позиции знака числа. Арифметический сдвиг может быть простой и модифицированный.

Простой сдвиг влево (ведет себя как логический сдвиг):

1. для прямого кода – сдвигается только цифровая часть числа, освобождающиеся младшие разряды заполняются нулями. Допустимая константа сдвига kд определяется числом подряд стоящих нулей после точки.

2. для дополнительного и обратного сдвигается вся числовая последовательность освобождающаяся часть для дополнительного кода заполняется нулями, для обратного заполняется выдвигающимися единицами(циклический сдвиг влево)
Допустимая величина сдвига определяется числом подряд стоящих единиц после запятой (точки).

Простой сдвиг вправо:

1. для прямого кода – сдвигается только цифровая часть числа;

2. для дополнительного и обратного сдвигается вся числовая последовательность,
цифра знакового разряда перемещается в старший цифровой разряд и восстанавливается в знаковом разряде. Разряды выходящие за правую границу сетки теряются.

Знаковые разряды – если «+», то 0. Если «–» то 1.

Преобразование числа из прямого кода в дополнительный осуществляется по следующему алгоритму.

· Если число, записанное в прямом коде, положительное, то к нему дописывается старший (знаковый) разряд, равный 0, и на этом преобразование заканчивается;

· Если число, записанное в прямом коде, отрицательное, то все разряды числа инвертируются, а к результату прибавляется 1. К получившемуся числу дописывается старший (знаковый) разряд, равный 1.

Десятичное представление Код двоичного представления (8 бит)
прямой обратный дополнительный
       
       
       
-0     ---
-1      
-2      
-3      
-4      
-5      
-6      
-7      
-8      
-9      
-10      
-11      
-127      
-128 --- ---  

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: