인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

나그네님의 프로필 이미지
나그네

작성한 질문수

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

2.5 부동소수점수 floating point numbers

2.5 long double의 크기

해결된 질문

작성

·

302

1

int main()

{

using namespace std;

float f;

double d;

long double ld;

cout << sizeof(float) << endl;

cout << sizeof(d) << endl;

cout << sizeof(ld) << endl;

return 0;

}

안녕하세요? 수업에서 이것을 출력했더니, double 과 long double이 둘 다 8이 나왔습니다. 수업에서 long double의 최소 크기가 8바이트이며, 8, 12, 16 바이트가 전형적인 크기라고 하셨습니다.

그런데 여기서 출력한 결과는 8인데, 혹시 8이 나온 특별한 이유가 있나요? 아니면 그냥 일반적으로 그냥 출력시키면 8이 나오는 것인가요? 12와 16이 아닌 8바이트가 나온 이유를 여쭤보고 싶습니다.

답변 1

1

안녕하세요, 답변 도우미 Soobak 입니다.

질문자님께서 학습하시는 환경에서의 long double 자료형이 8바이트로 구현되었기 때문이라고 설명드리는 것이 옳은 것 같습니다.

long double 자료형은 말씀하신 내용처럼, 8, 12, 16 바이트 등 플랫폼과 컴파일러마다 구현 방식이 다릅니다.

 

나그네님의 프로필 이미지
나그네

작성한 질문수

질문하기