-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
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
호두
2020.10.24
2. 아마도 std:: 여기 까지 치면 intelliJ가 추천을 해주는 것으로 알아요. 그래서 함수가 기억나지 않을 때 std::이렇게 시작하면 함수명을 찾는 데 도움이 된다고 다른 강의에서 언급하셨던 거 같아요.
1
Hello Yeo
2020.10.24
안녕하세요?
너무 어렵게 생각하고 계신 것 같군요. 말 그대로 부호를 담당하는 비트를 빼어준 것이고,
계산상으로 2^(sizeof(short))이므로 -1을 해주어 표현 범위를 나타낸 것입니다.
이것의 간단한 예로 8bit는 256이 아닌 255까지 나타냅니다.
답변 2