반응형
실수 형식 메모리 크기 확인
#include <stdio.h> //표준 입출력 헤더
int main(void)
{
printf("sizeof(double):%d bytes, sizeof(float):%d bytes\n", sizeof(double),sizeof(float));
return 0;
}
실수 리터럴 표현 크기 확인
#include <stdio.h> //표준 입출력 헤더
int main(void)
{
printf("sizeof(0.1):%d bytes\n", sizeof(0.1));
printf("sizeof(0.1f):%d bytes\n", sizeof(0.1f));
return 0;
}
다양한 실수 표현
#include <stdio.h> //표준 입출력 헤더
int main(void)
{
double df = 3.4; //실수 표현 디폴트 형식은 double
float f = 123.45f;// float 형식 실수는 f를 뒤에 붙임
float f2 = 123.45f;//부동 소수점 표현
float f3 = 1.2345e+2f;//지수 표현
float f4 = 7.f; //소숫점 이하 자리가 없을 때 점(.)만 찍어도 실수 표현으로 취급
float f5 = .05f; //정수 부분이 0일 때 0을 생략할 수 있다.
return 0;
}
실수 출력
#include <stdio.h> //표준 입출력 헤더
int main(void)
{
double df = 3.4;
float f = 3.4f;
printf("df:%f\n",df);
printf(" f:%f\n",f);
return 0;
}
소숫점 이하 자리 출력
#include <stdio.h> //표준 입출력 헤더
int main(void)
{
printf("%.2f\n", 12.3456);
return 0;
}
지수 표기로 출력
#include <stdio.h> //표준 입출력 헤더
int main(void)
{
printf("%e\n", 12.3456);
return 0;
}
가장 간단하게 출력
#include <stdio.h> //표준 입출력 헤더
int main(void)
{
printf("%g\n", 13.4);//13.4
printf("%g\n", 0.00000012);//1.2e-07
return 0;
}
실수 사용에서 주의할 점 - 오차
#include <stdio.h> //표준 입출력 헤더
int main(void)
{
float f = 0.0f;
f += 0.1f;
printf("%.20f\n", f);
f += 0.1f;
printf("%.20f\n", f);
f += 0.1f;
printf("%.20f\n", f);
double df = 0.0;
df += 0.1;
printf("%.20f\n", df);
df += 0.1;
printf("%.20f\n", df);
df += 0.1;
printf("%.20f\n", df);
return 0;
}
반응형
'C언어 > 언제나 C언어' 카테고리의 다른 글
산술 연산과 overflow [언제나 C언어] (0) | 2020.06.07 |
---|---|
실수 형식 표현 범위, FLT_MIN, FLT_MAX, FLT_TRUE_MIN [언제나 C언어] (0) | 2020.06.05 |
확장 문자 형식 wchar_t와 한글 문자 [언제나 C언어] (0) | 2020.06.03 |
문자 형식 char와 ASCII 코드[언제나 C언어] (0) | 2020.06.02 |
정수 형식과 표현 범위 (char, short, int, long,…) [언제나 C언어] (0) | 2020.06.02 |