강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

sadfsa12님의 프로필 이미지
sadfsa12

작성한 질문수

홍정모의 따라하며 배우는 C++

2.2 정수형 (Integers)

unsigned integer 실습 질문

작성

·

244

0

교수님 안녕하세요, 교수님이 숙제 내주신대로 unsigned integer을

cout << std::pow(2, sizeof(unsigned int)*8)-1 << endl;

로해서 돌리면 커맨드 창에 4.29497e+09이런 숫자로 나옵니다

cout << std::numeric_limits<unsigned int>::max() << endl;로 하면 

4294967295이 제대로 나오구요( 2^32-1)

둘이 같은 숫자 같지만 왜 하나는 "4.29497e+09" 이런 식으로 나오는지 여쭤봅니다. 감사합니다!

답변 1

0

안녕하세요!

사진에서 알 수 있다시피 pow 는 double 를 리턴하는 함수입니다. 즉, 결과를 '실수'로 리턴을 하는거에요!

4294967295 을 실수로 표현하다보니 저런 결과가 나온 것입니다.

sadfsa12님의 프로필 이미지
sadfsa12

작성한 질문수

질문하기