비트연산자 오류좀 잡아주세요
푸른들
2023.04.01
비트연산자 오류질문 내용 :
int a,b;
printf(수를 입력하세요 : );
scanf(%d, &a);
for (int i=15; i=0; i--) {
b = (ai)& 1;
printf(%d, b);
}
수를 입력받고 그 수를 비트연산자를 통해서 2진수로 출력하는 건데요
b = (ai)& 1; 이 부분의 &연산자를 |로 바꾸면 출력이 이상해지네요
전부 1로 출력이 될줄 알았는데 끝부분이 이상한 숫자가 나와요
뭐가 문제인가요?
-
진달래
15 & 1 == 1입니다.
15 | 1 == 15입니다. 그래서 원하는 결과가 출력되지 않습니다.