언어 자료구조 알고리즘/C11 표준 라이브러리 함수

nextafter, nextafterf, nextafterl

언제나휴일 2016. 5. 10. 17:59
반응형

nextafter, nextafterf, nextafterl


헤더 파일

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - math.h


double nextafter(double x, double y); x 보다 바로 큰(작은) 실수

float nextafterf(float x, float y); x 보다 바로 큰(작은) 실수

long double nextafterl(long double x, long double y); x 보다 바로 큰(작은) 실수

 

입력 매개 변수 리스트

x 실수

y 실수

반환 값

x>y 일 때는 실수로 표현할 수 있는 수 중에 현재 x보다 바로 작은 실수

x<y 일 때는 실수로 표현할 수 있는 수 중에 현재 x보다 바로 큰 실수

x=y 일 때는 x

 

다음의 예는 double 형식으로 1.0부터 표현할 수 있는 10개의 수를 확인하는 코드로 정밀도를 확인할 수 있습니다. 일반적으로 double 형식은 소수점 이하 15자리까지 유효하고 16자리부터 오차가 존재한다고 말합니다. 다음 코드의 결과로 그 말이 어떠한 의미인지 확인할 수 있습니다.

 

사용 예

//C언어 표준 라이브러리 함수 가이드

//double nextafter(double x, double y); x 보다 바로 큰(작은) 실수

//float nextafterf(float x, float y); x 보다 바로 큰(작은) 실수

//long double nextafterl(long double x, long double y); x 보다 바로 큰(작은) 실수

//double 형식으로 1.0부터 표현할 수 있는 10개의 수를 확인(정밀도 확인)

 

#include <math.h>

#include <stdio.h>

 

int main(void)

{

    double dummy=1.0;

    int i;

 

    for (i = 0; i < 10; i++)

    {

        dummy = nextafter(dummy, 2.0);

        printf("%.20f\n", dummy);

    }

}

 

출력

1.00000000000000022204

1.00000000000000044409

1.00000000000000066613

1.00000000000000088818

1.00000000000000111022

1.00000000000000133227

1.00000000000000155431

1.00000000000000177636

1.00000000000000199840

1.00000000000000222045



사용한 함수

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - printf

반응형

'언어 자료구조 알고리즘 > C11 표준 라이브러리 함수' 카테고리의 다른 글

실수 판별식 매크로  (0) 2016.05.10
fmin, fminf, fminl  (0) 2016.05.10
fmax, fmaxf, fmaxl  (0) 2016.05.10
fdim, fdimf, fdiml  (0) 2016.05.10
nexttoward, nexttowardf, nexttowardl  (0) 2016.05.10
nan, nanf, nanl  (0) 2016.05.10
copysign, copysignf, copysignl  (0) 2016.05.10
remquo, remquof, remquol  (0) 2016.05.10
trunc, truncf, truncl  (0) 2016.05.10
lround, lroundf, lroundl, llround, llroundf, llroundl  (0) 2016.05.10