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

nexttoward, nexttowardf, nexttowardl

언제나휴일 2016. 5. 10. 18:02
반응형

nexttoward, nexttowardf, nexttowardl


헤더 파일

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


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

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

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

 

입력 매개 변수 리스트

x 실수

y 실수

반환 값

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

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

x=y 일 때는 x

 

nextword 함수는 nextafter 함수와 같은 역할을 하는 함수입니다. 차이가 있는 것은 두번째 입력 매개변수의 형식이 long double이라는 것 말고는 아무런 차이가 없습니다.

 

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

 

사용 예

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

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

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

//long double nexttowardl(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 = nexttoward(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 표준 라이브러리 함수' 카테고리의 다른 글

assert.h  (0) 2016.05.10
실수 판별식 매크로  (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
nextafter, nextafterf, nextafterl  (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