-
[문제해설] 시프트 레지스터(shift register)의 내용을 오른쪽으로 한 번 시프트하면 데이터는 어떻게 변하는가?전자계산기조직응용기사/필기 기출문제 해설 2021. 10. 24. 08:32반응형
전자계산기조직응용기사 필기 기출문제 (3과목 전자계산기구조-논리회로) - 2019년1회
시프트 레지스터(shift register)의 내용을 오른쪽으로 한 번 시프트하면 데이터는 어떻게 변하는가?
-문제 해설-
시프트(shift) 연산은 비트 값을 주어진 방향으로 주어진 값만큼 이동시키는 연산입니다.
그 비트가 10진수의 값을 2진수로 저장되어 있다면, 시프트 연산은 특정한 연산을 수행하는 용도로도 활용됩니다. 그 용도를 외울 필요는 없습니다. 간단하게 유도되니깐요.
0 1 0 0 위는 4비트의 레지스터에 '0100'이 저장되어 있습니다. 10진수로는 4입니다.
이것을 왼쪽으로 1회 이동시켜보면,
1 0 0 0 레지스터의 값은 '1000', 즉 10진수로 8이 됩니다. 이전 값 4에서 2를 곱한 것입니다.
그럼 처음의 '0100'(십진수 4)에서 오른쪽으로 1회 시켜보면,
0 0 1 0 레지스터의 값은 '0010', 10진수로 2가 됩니다. 이전 값 4에서 2를 나눈 값입니다.
이와 같이 10진 정보를 가지고 있는 레지스터에서 시프트 연산은 왼쪽으로 이동한 횟수만큼 2를 곱하게 되고, 오른쪽으로 이동한 횟수만큼 2를 나누게 됩니다.
문제에선 오른쪽으로 한번 시프트를 할 때 데이터가 어떻게 변하냐고 묻고 있습니다.
오른쪽으로 1회 비트를 이동시킨다면, 기존 값에서 2를 나누게 됩니다.
그래서 정답은 1번 기존 데이터의 1/2입니다.
https://youtube.com/playlist?list=PLboXycXmAIDuukQ2A6EvMZI-x1IMy3Xc-
전자계산기조직응용기사 필기
국가기술자격증 '전자계산기조직응용기사' 필기 강의
www.youtube.com
반응형'전자계산기조직응용기사 > 필기 기출문제 해설' 카테고리의 다른 글
[문제해설] 2진수 덧셈으로 8비트(bit) 레지스터 250과 10을 더하는 ADC 명령어를 사용하여 덧셈한 결과는? (0) 2021.10.26 [문제해설] 다음의 프로그램을 실행한 결과로 옳은 것은? (0) 2021.10.25 [문제해설] 스택 S에서 B, A, D, C를 순서대로 입력시킬 때, 출력을 A, B, C, D 순으로 하기 위한 push와 pop의 횟수는? (0) 2021.10.23 [문제해설] 객체 지향언어인 자바(java) 프로그램이다. 출력되는 값은? (0) 2021.09.24 [문제해설] 500[KHz] 클록을 사용하는 시스템의 클록 사이클 시간은? (2) 2021.08.31