책 내용 질문하기
문제 3. 2진수로 변환할때...
도서
2024 시나공 정보처리기능사 실기 기본서
페이지
169
조회수
163
작성일
2024-08-01
작성자
김*빈
첨부파일

문제 3번


1. 16을 2진수로 변환하면 10000아닌가여 ?... 왜 00010000인가요?


2. xor가 서로 값이 다르면 1이라는건 이해가 됩니다.

답지엔 연산한 값 64를 도출한다고 되어있는데.. 연산값은 어떻게 구하는건가요? ㅠ

답변
2024-08-02 12:53:53

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

10진수 88과 088, 0088 은 모두 같습니다.

16을 2진수로 변환하면 회원님께서 말씀하신것처럼 10000이 맞습니다.

C 언어에서 정수형 변수는 4바이트(32비트)이므로 각 변수의 값을 32비트로 변환한 다음 비트별로 연산을 합니다

이 문제에서는 굳이 32bit로 표현을 하지 않고 8bit로 표현하여 계산을 한것으로

8bit로 표현을 하여 0001 0000 이렇게 나온것입니다.


16과 80을 2진수로 구한후 XOR가 서로 값이 다르면 1이 나오는데

아래 그림에서 빨간색으로 표시한 부분만 값이 다르니 1이 나오고 나머지 부분은 서로 똑같으니 0이 나온것이고

이것을 10진수로 표현하여 64가 나온것입니다




행복한 하루되세요 :)

  • 관리자
    2024-08-02 12:53:53

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

    10진수 88과 088, 0088 은 모두 같습니다.

    16을 2진수로 변환하면 회원님께서 말씀하신것처럼 10000이 맞습니다.

    C 언어에서 정수형 변수는 4바이트(32비트)이므로 각 변수의 값을 32비트로 변환한 다음 비트별로 연산을 합니다

    이 문제에서는 굳이 32bit로 표현을 하지 않고 8bit로 표현하여 계산을 한것으로

    8bit로 표현을 하여 0001 0000 이렇게 나온것입니다.


    16과 80을 2진수로 구한후 XOR가 서로 값이 다르면 1이 나오는데

    아래 그림에서 빨간색으로 표시한 부분만 값이 다르니 1이 나오고 나머지 부분은 서로 똑같으니 0이 나온것이고

    이것을 10진수로 표현하여 64가 나온것입니다




    행복한 하루되세요 :)

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