• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

9:00부분 질문

20.10.23 23:15 작성 조회수 125

2

1)

sizeof와 pow함수를 이용해 short로 표현할 수 있는 숫자의 경우의 수를 표현하는 부분에서 총 2번의 뺄셈을 하셨는데 첫번째 뺄셈은 sign에 대해서 1비트를 빼준 것이고 두번째 뺄셈은 0을 표현하는 부분을 뺀 것이라고 하셨는데 이 부분이 잘 이해가 가지 않습니다.

signed 와 unsigned 모두 0을 포함하는 것으로 알고 있는데 왜 0울 표현하는 부분을 뺀 것인지 궁금합니다.

2)

추가로 pow함수를 사용하실 때 std::를 사용하셨는데 pow함수를 사용할 수 있도록 <cmath>헤더를 include했는데 namespace std에 접근까지 해야하는 이유가 있는가 궁금합니다.

using namespace std;를 사용했음에도 별도로 std::를 붙이시는 부분이 조금 의아했던 부분이었습니다.

std와 pow함수와 서로 연관된 부분이라도 있나요?

답변 2

·

답변을 작성해보세요.

2

호두님의 프로필

호두

2020.10.24

2. 아마도 std:: 여기 까지 치면 intelliJ가 추천을 해주는 것으로 알아요. 그래서 함수가 기억나지 않을 때 std::이렇게 시작하면 함수명을 찾는 데 도움이 된다고 다른 강의에서 언급하셨던 거 같아요.

1

Hello Yeo님의 프로필

Hello Yeo

2020.10.24

안녕하세요? 

너무 어렵게 생각하고 계신 것 같군요. 말 그대로 부호를 담당하는 비트를 빼어준 것이고,

계산상으로 2^(sizeof(short))이므로 -1을 해주어 표현 범위를 나타낸 것입니다.

이것의 간단한 예로 8bit는 256이 아닌 255까지 나타냅니다.