티스토리 뷰

It

쉬프트(shift) 연산

whyuus 2023. 3. 5. 21:06

논리적 쉬프트 (logical shift) : 레지스터내의 데이터 비트들을 왼쪽 혹은 오른쪽으로 한 칸씩 이동

좌측 쉬프트(left shift)

모든 비트들을 좌측으로 한 칸씩 이동

최하위 비트(A1)로는 0 이 들어오고, 최상위 비트(A4)는 버림

우측 쉬프트(right shift)

모든 비트들이 우측으로 한 칸씩 이동

최상위 비트(A4)로 0이 들어오고, 최하위 비트(A0)는 버림

쉬프트 레지스터 (shift register)

쉬프트 연산 기능을 가진 레지스터

순환 쉬프트(circular shift)

순환 쉬프트(circular shift) : 회전(rotate)이라고도 부르며, 최상위 혹은 최하위에 있는 비트를 버리지 않고 반대편 끝에 있는 비트 위치로 이동

순환 좌측-쉬프트(circular shift-left)

최상위 비트인 A4가 최하위 비트 위치인 A1으로 이동

순환 우측-쉬프트(circular shift-right)

A4  A3, A3  A2, A2  A1, A1  A4

직렬 데이터 전송 (serial data transfer)

직렬 데이터 전송 : 쉬프트 연산을 데이터 비트 수만큼 연속적으로 수행함으로써 두 레지스터들 사이에 한 개의 선을 통하여 전체 데이터를 이동하는 동작

4-비트 레지스터들 간의 직렬 전송의 예

산술적 쉬프트 (arithmetic shift)

수(number)를 나타내는 데이터에 대한 쉬프트

방법: 쉬프트 과정에서 부호 비트는 그대로 유지시키고, 수의 크기를 나타내는 비트들만 쉬프트

(1) 산술적 좌측-쉬프트(arithmetic shift-left)

A4 (불변), A3  A2, A2  A1, A1  0

(2) 산술적 우측-쉬프트(arithmetic shift-right)

A4 (불변), A4  A3, A3  A2, A2  A1

[예] A = 1 1 1 0 (-2) ; 초기 상태

1 1 0 0 (-4) ; 산술적 좌측-쉬프트 결과

1 1 1 0 (-2) ; 산술적 우측-쉬프트 결과

1 1 1 1 (-1) ; 산술적 우측-쉬프트 결과

'It' 카테고리의 다른 글

Spring MVC 5-3 Spring MVC 적용하기  (0) 2023.03.07
논리 연산  (0) 2023.03.06
제어 유니트의 기능  (0) 2023.03.04
오라클 열삭제  (0) 2023.03.03
오라클 테이블 삭제  (0) 2023.03.02
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함