Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

nextafter() และ nexttoward() ใน C/C++


ที่นี่เราจะเห็นผลของฟังก์ชัน nextafter() และ nextforward() ใน C หรือ C++ ฟังก์ชันเหล่านี้มีอยู่ในไลบรารี math.h หรือ cmath

ถ้าฟังก์ชันเป็นเหมือน nextafter(a, b) และ nextforward(a, b) ฟังก์ชันเหล่านี้ใช้เพื่อค้นหาค่าที่แสดงแทนได้ถัดไปหลังจาก a ไปในทิศทางของ 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