• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

2.5 long double의 크기

23.05.14 11:54 작성 조회수 121

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님의 프로필

Soobak

2023.05.14

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

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

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