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

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


nextafter() และ nexttoward() ใน math.h หรือ cmath ใช้หาค่า representable ถัดไปหลัง a ในทิศทางของ b nexttoward() มีพารามิเตอร์ที่สองแม่นยำกว่า

ตัวอย่าง

#include <stdio.h> #include <math.h> main() { 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)); 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 (same for nexttoward)