책 내용 질문하기
Shift, MOVE 연산자가 단항 연산자인 이유
도서
2021 시나공 정보처리산업기사 필기
페이지
302
조회수
404
작성일
2021-08-09
작성자
탈퇴*원
첨부파일

피연산자의 수에 따른 연산자의 분류에서 단항 연산자, 이항 연산자로 구분되어 있는 부분은 이해하였습니다

다만 Shift, MOVE가 왜 단항 연산자인지가 이해되지 않습니다.

Shift인 경우에는 어떤 레지스터를 몇 비트 이동시킨다라는 의미이므로 이항 연산자가 아닌지 궁금합니다.

MOVE인 경우에는 레지스터 간에 자료를 전달하는 명령이라고 했으므로 레지스터 2개가 필요하면 이항 연산자라고 생각됩니다.

답변 부탁드려요

답변
2021-08-10 11:06:31

안녕하세요 길벗수험서 운영팀입니다.

 

프로그래밍 언어의 연산자 사용법과 혼동하시면 안됩니다.

 

레지스터의 shift의 경우 right shift, left shift가 별도로 존재하여 1비트씩만 이동합니다.

여러 비트를 움직인다고 한다면 명령어를 반복 사용하는 형식으로 이루어지죠.

 

move의 경우 실제 이동을 수행하는 것이 아닌 해당 값이 이동 가능하도록 만드는 일종의 속성값 변환이라고 보시면 됩니다.

실제 이동 방식에 시험에 출제되지 않을 뿐더러 필요한 사전 지식이 있어 설명이 길어지니.. C++에 대한 기본지식이 있으시다면 다음 링크를 참고하시면 도움이 될 듯 합니다.

https://jungwoong.tistory.com/20 

 

행복한 하루되세요 :)

  • 관리자
    2021-08-10 11:06:31

    안녕하세요 길벗수험서 운영팀입니다.

     

    프로그래밍 언어의 연산자 사용법과 혼동하시면 안됩니다.

     

    레지스터의 shift의 경우 right shift, left shift가 별도로 존재하여 1비트씩만 이동합니다.

    여러 비트를 움직인다고 한다면 명령어를 반복 사용하는 형식으로 이루어지죠.

     

    move의 경우 실제 이동을 수행하는 것이 아닌 해당 값이 이동 가능하도록 만드는 일종의 속성값 변환이라고 보시면 됩니다.

    실제 이동 방식에 시험에 출제되지 않을 뿐더러 필요한 사전 지식이 있어 설명이 길어지니.. C++에 대한 기본지식이 있으시다면 다음 링크를 참고하시면 도움이 될 듯 합니다.

    https://jungwoong.tistory.com/20 

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.