이동기(shifter)에서 이동 방향은 좌측과 우측이다. 이동할 때 이동 방향의 마지막 비트 값은 바깥으로 밀려난다. 그리고 반대편의 처음 비트는 상대적으로 공백이 생기는데 이곳에 0이나 1이 채워진다. 이동기는 이동 레지스터라고도 한다. 양방향 이동기는 [ 그림 6-30 ]과 같이 양방향 이동 레지스터다.
[ 그림 6-30 ]
[ 그림 6-31 ]은 양방향 이동 레지스터의 좌측 이동과 우측 이동이 수행될 떄 플립플롭의 동작을 나타낸 것이다. (a)의 우측 이동은 왼쪽에서 새로운 비트 값이 입력되고 오른쪽에서는 마지막 비트가 배출된다. (b)의 좌측 이동은 오른쪽에서 새로운 비트 값이 입력되고 왼쪽에서 마지막 비트가 배출된다.
[ 그림 6-31 ]
2진수의 산술연산에서 비트의 이동은 2배수의 덧셈과 나눗셈 연산을 수행한다. 그래서 좌측으로 이동하면 2를 곱한 결과가 되고 우측으로 이동하면 2를 나눈 결과가 된다. 결과적으로 양방향 이동 ㅔㄹ지스터는 2진수의 곱셈과 나눗셈 연산기로 사용될 수 있다.