책 내용 질문하기
2권 201쪽,231쪽 문제 관련 문의
도서
2023 시나공 정보처리기사 실기
페이지
201
조회수
208
작성일
2023-03-23
작성자
탈퇴*원
첨부파일

안녕하세요.

 

1. 

교재 201쪽이 1번 문제 해설을 보면,중괄호와 따옴표를 필수로 기재해야만 한다고 설명하고 있습니다.

그런데 이에 대한 이유는 제대로 설명이 안 되어있는 거 같아서 문의드립니다.

 

python에서 {}는 세트를 의미하고, 세트 안의 문자열은 꼭 ''로 묶어야만 한다. 라고 이해하면 될까요?

 

201쪽의 1번 문제는 세트 전체를 표시하는 것이기 때문에 {}와 ''가 필수인 것이고

198쪽 예제 3번은 세트 전체를 표시 하는 것이 아닌, 일부만 표시하는 것이기 때문에 {}와 ''를 빼고 적는 것이다. =>{'apple'}로 표시하지 않음

 

이렇게 이해해도 되는걸까요?

 

2.

교재 231쪽 25번 문제에서 ~b를 계산할 때 왜

   0000 0000 0000 0000 0000 0000 0000 0011

~ 1111 1111 1111 1111 1111 1111 1111 1100

까지만 하고 2의보수 계산을 하지 않는건가요?

 

교재 225쪽 9번 문제에서 ~a를 할때에는

   0000 1111

~ (1111 0000)

1000 1111 (부호비트만 그대로 두고 나머지는 다시 뒤집고)

여기에다가 +1까지 해서 

1001 0000 

최종적으로 -16 이라는 값이 답인데 말이죠.

 

이 두 문제의 차이점이 뭔지 궁금합니다.

 

 

답변 기다리겠습니다.

감사합니다.

답변
2023-03-24 10:07:16

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

 

다중값이 출력될 수 있는 '개체'를 출력할 때는 해당 개체의 특성에 맞는 묶음 기호와, 숫자와 문자를 구분할 수 있는 따옴표 등을 포함하여 출력해줘야 합니다. (파이썬에 한정하여 적용, C나 JAVA의 기본 라이브러리에서는 개체단위 출력을 지원하지 않습니다.)

리스트라면 대괄호[]를, 세트나 딕셔너리라면 중괄호{}가 값들을 묶어줘야 하죠.

또한 문자열은 따옴표, 숫자는 그대로 출력한 후 각 값들은 쉼표,로 구분지어 주시면 됩니다.

 

단일 값(요소)을 출력할 때는 해당 값을 그대로 문자열을 구분하는 따옴표가 포함되지 않고 문자나, 숫자 그대로 출력됩니다.

 

-------------------

 

추가적인 비트 연산이 남아있기 때문입니다.

 

음수에 대한 2의 보수화는 기본적으로 '2진수로 PC에 저장되는 형태' <-> '10진수로 전환하기 위한 형태' 를 서로 교체하기 위함이라고 기억해 두세요. 실제 PC에 저장되고 연산에 필요한 비트는 2의 보수화를 수행하기 전 형태입니다.

 

b에 not을 적용하고 2의 보수화를 통해 10진수 변환 직전 형태로 바꾸어봤자 이후 수행할 & 연산을 위해서는 실제 PC에 저장된 ~b의 원래 2진수 값을 이용해야 하므로 괜히 2의 보수화를 수행해서 10진수 값을 알아봐야 의미가 없기 때문에 해당 과정이 생략된 것입니다.

 

행복한 하루되세요 :)

 

  • 관리자
    2023-03-24 10:07:16

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

     

    다중값이 출력될 수 있는 '개체'를 출력할 때는 해당 개체의 특성에 맞는 묶음 기호와, 숫자와 문자를 구분할 수 있는 따옴표 등을 포함하여 출력해줘야 합니다. (파이썬에 한정하여 적용, C나 JAVA의 기본 라이브러리에서는 개체단위 출력을 지원하지 않습니다.)

    리스트라면 대괄호[]를, 세트나 딕셔너리라면 중괄호{}가 값들을 묶어줘야 하죠.

    또한 문자열은 따옴표, 숫자는 그대로 출력한 후 각 값들은 쉼표,로 구분지어 주시면 됩니다.

     

    단일 값(요소)을 출력할 때는 해당 값을 그대로 문자열을 구분하는 따옴표가 포함되지 않고 문자나, 숫자 그대로 출력됩니다.

     

    -------------------

     

    추가적인 비트 연산이 남아있기 때문입니다.

     

    음수에 대한 2의 보수화는 기본적으로 '2진수로 PC에 저장되는 형태' <-> '10진수로 전환하기 위한 형태' 를 서로 교체하기 위함이라고 기억해 두세요. 실제 PC에 저장되고 연산에 필요한 비트는 2의 보수화를 수행하기 전 형태입니다.

     

    b에 not을 적용하고 2의 보수화를 통해 10진수 변환 직전 형태로 바꾸어봤자 이후 수행할 & 연산을 위해서는 실제 PC에 저장된 ~b의 원래 2진수 값을 이용해야 하므로 괜히 2의 보수화를 수행해서 10진수 값을 알아봐야 의미가 없기 때문에 해당 과정이 생략된 것입니다.

     

    행복한 하루되세요 :)

     

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