ในที่นี้เราจะมาดูวิธีรับโมดูลัสของข้อมูลประเภทลอยตัวหรือสองประเภทใน C โดยพื้นฐานแล้วโมดูลัสคือการค้นหาส่วนที่เหลือ สำหรับสิ่งนี้ เราสามารถใช้ฟังก์ชัน rester() ใน C ได้ ฟังก์ชัน restder() ใช้เพื่อคำนวณจุดทศนิยมที่เหลือของตัวเศษ/ตัวส่วน
ดังนั้นส่วนที่เหลือ (x, y) จะเป็นดังนี้
remainder(x, y) = x – rquote * y
rquote คือค่าของ x/y ซึ่งถูกปัดเศษตามค่าปริพันธ์ที่ใกล้เคียงที่สุด ฟังก์ชันนี้รับอาร์กิวเมนต์ประเภท double, float, long double สองอาร์กิวเมนต์ และส่งคืนอาร์กิวเมนต์ประเภทเดียวกันที่เหลือซึ่งกำหนดไว้เป็นอาร์กิวเมนต์ อาร์กิวเมนต์แรกเป็นตัวเศษ และอาร์กิวเมนต์ที่สองเป็นตัวส่วน
ตัวอย่าง
#include <stdio.h> #include <math.h> main() { double x = 14.5, y = 4.1; double res = remainder(x, y); printf("Remainder of %lf/%lf is: %lf\n",x,y, res); x = -34.50; y = 4.0; res = remainder(x, y); printf("Remainder of %lf/%lf is: %lf\n",x,y, res); x = 65.23; y = 0; res = remainder(x, y); printf("Remainder of %lf/%lf is: %lf\n",x,y, res); }
ผลลัพธ์
Remainder of 14.500000/4.100000 is: -1.900000 Remainder of -34.500000/4.000000 is: 1.500000 Remainder of 65.230000/0.000000 is: -1.#IND00