책 내용 질문하기
208페이지 문제4
도서
2025 시나공 정보처리기능사 실기 기본서
페이지
208
조회수
29
작성일
2025-08-27
작성자
윤*혁
첨부파일

if (a ==0 | a==1)에서 |는 비트 연산자인데 왜 a를 10진수 형태인 11 그대로 if식 연산을 하는 것인가요?


만약 그렇게 하려면 |가 아니라 ||을 써서 논리연산을 해야하는것 아닌가요?

답변
2025-08-27 18:04:46

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

회원님께서 말씀하신것처럼 비트연산자가 사용된것이 맞습니다

원래 2진수로 변환하여 비교를 해야하는데

해당 문제의 경우 출력문에서 %d가 사용이 되어 10진정수로 출력을 하는것이고

2진수로 변환하여 비교한 값을 출력하는것이 아닙니다

굳이 2진수로 변환하여 비교를 하지 않아도 되기 때문에 10진수로 계속 비교하여 결과값을 구한것입니다.

2진수로 변환하여 문제를 풀어도 결과값은 동일하게 나올것입니다


|가 아니라 ||을 써서 논리연산을 해야하는것 아닌가요? 라고 질문을 주셨는데

이문제의 경우 임의로 문제를 만든것이 아니라

실제 시험문제로 나온것처럼 문제를 복원하여 구성한것입니다

행복한 하루되세요 :)


  • 관리자
    2025-08-27 18:04:46

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

    회원님께서 말씀하신것처럼 비트연산자가 사용된것이 맞습니다

    원래 2진수로 변환하여 비교를 해야하는데

    해당 문제의 경우 출력문에서 %d가 사용이 되어 10진정수로 출력을 하는것이고

    2진수로 변환하여 비교한 값을 출력하는것이 아닙니다

    굳이 2진수로 변환하여 비교를 하지 않아도 되기 때문에 10진수로 계속 비교하여 결과값을 구한것입니다.

    2진수로 변환하여 문제를 풀어도 결과값은 동일하게 나올것입니다


    |가 아니라 ||을 써서 논리연산을 해야하는것 아닌가요? 라고 질문을 주셨는데

    이문제의 경우 임의로 문제를 만든것이 아니라

    실제 시험문제로 나온것처럼 문제를 복원하여 구성한것입니다

    행복한 하루되세요 :)


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