Hàm remquo() tính phần dư số thực của phép chia và lưu thương số vào con trỏ được truyền vào. Trả về NaN nếu mẫu số bằng 0.
Cú pháp
float remquo(float numerator, float denominator, int* quotient);
Có overload cho double và long double.
Tham số
- numerator - Tử số
- denominator - Mẫu số
- quotient - Con trỏ lưu phần nguyên của thương số
Ví dụ
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float x = 28.8f;
float y = 3.5f;
int quo;
float rem = remquo(x, y, &quo);
cout << "Phần dư: " << rem << endl;
cout << "Thương số (phần nguyên): " << quo << endl;
// 28.8 / 3.5 = 8.228... -> quo = 8, rem = 28.8 - 8*3.5 = 0.8
return 0;
}
Kết quả
Phần dư: 0.8 Thương số (phần nguyên): 8
Lưu ý quan trọng
- Thương số lưu là giá trị làm tròn đến số nguyên gần nhất (không phải truncate)
- Hữu ích khi cần cả phần dư và thương số cùng lúc (tránh tính 2 lần)
- Có sẵn từ C++11 (header
<cmath>)