피연산자의 수에 따른 연산자의 분류에서 단항 연산자, 이항 연산자로 구분되어 있는 부분은 이해하였습니다
다만 Shift, MOVE가 왜 단항 연산자인지가 이해되지 않습니다.
Shift인 경우에는 어떤 레지스터를 몇 비트 이동시킨다라는 의미이므로 이항 연산자가 아닌지 궁금합니다.
MOVE인 경우에는 레지스터 간에 자료를 전달하는 명령이라고 했으므로 레지스터 2개가 필요하면 이항 연산자라고 생각됩니다.
답변 부탁드려요
안녕하세요 길벗수험서 운영팀입니다.
프로그래밍 언어의 연산자 사용법과 혼동하시면 안됩니다.
레지스터의 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
행복한 하루되세요 :)