Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++의 nextafter() 및 nexttoward()

<시간/>

여기에서 C 또는 C++에서 nextafter() 및 nextforward() 함수의 효과를 볼 수 있습니다. 이러한 함수는 math.h 또는 cmath 라이브러리에 있습니다.

함수가 nextafter(a, b) 및 nextforward(a, b)와 같은 경우. 이 함수는 b 방향에서 다음으로 표현할 수 있는 값을 찾는 데 사용됩니다. nextforward()에는 더 정확한 두 번째 매개변수 b가 있습니다.

예시

#include <stdio.h>
#include <math.h>
main () {
   //The nextafter function()
   printf ("Smallest representable number after 0 towards 1 : %e\n", nextafter(0.0, 1.0));
   printf ("Largest representable number before -1 towards 0 :%e\n", nextafter(0.0, -1.0));
   printf ("Largest +ve representable number after 0.8 : %e\n", nextafter(0.8, 0.0));
   // using nexttoward
   printf("\n");
   printf ("Smallest representable number after 0 towards 1 : %e\n", nexttoward(0.0, 1.0));
   printf ("Largest representable number before -1 towards 0 : %e\n", nexttoward(0.0, -1.0));
   printf ("Largest +ve representable number after 0.8 : %e\n", nexttoward(0.8, 0.0));
}

출력

Smallest representable number after 0 towards 1 : 4.940656e-324
Largest representable number before -1 towards 0 :-4.940656e-324
Largest +ve representable number after 0.8 : 8.000000e-001
Smallest representable number after 0 towards 1 : 4.940656e-324
Largest representable number before -1 towards 0 : -4.940656e-324
Largest +ve representable number after 0.8 : 8.000000e-001