Re: UNIT 24 비트연산자 오류 질문
, 도장_ 관리자님이 작성결괏값이 이상한 것은 printf에 서식 지정자가 틀려서 입니다.
%d는 정수형에 사용하는데, char 형식을 넣으면 암묵적으로 int 타입으로 변환되어 출력됩니다.
char 형식을 올바르게 출력하려면 %c로 출력해야 합니다. 문자는 문자로 출력되겠지요.
1000 0011 << 1을 하면
0000 0110이 됩니다.
서식 지정자를 %d로 지정했으니 암묵적으로 int로 변환됩니다.
따라서 int의 비트 패턴은
1111 11111111 11111111 1111 0000 0110
이고, 이 값은 -250입니다.
따라서 작성한 코드로는 -250으로 출력되는 게 맞습니다.
%c로 출력하면 해당 값은 제어문자라서 제어 문자가 찍히게 됩니다.