24.7 심사 문제
, 지 지님이 작성토글에서 오류가 발생해서... 못 넘어가고 있습니다
flag ^= 1<<7;
을 실행 시 결과값이 144가 나옵니다.
손으로 풀어봐도 flag ^= 1 << 7; 은 144가 나오는데...
0001 0000 ^ 1000 0000 수행 시 1001 0000 이 나오니
답이 144로 출력되는 것이 맞지 않나요?ㅜㅜ
Re: 24.7 심사 문제
, 도장_ 관리자님이 작성1. num1의 비트를 왼쪽으로 3번 이동한 값으로 flag의 비트 켜기
2. num2의 비트를 오른쪽으로 2번 이동한 값으로 flag의 비트 끄기
3. flag의 첫 번째 비트 토글하기
문제를 보면
1번에서 flag의 값이 바뀌고
다시 2번에서 flag의 값이 바뀌고
다시 3번에서 flag의 값이 바뀝니다.
그래서 최종적으로 바뀐 flag의 값이 예시에서 136이 되는 겁니다.
처음 입력된 상태에서 flag 값이 바뀌지 않은 상태라면 질문한 144가 되는 게 맞습니다.