#include
<cmath>
double remquo (double x, double y, int* n)
Liefert $r = x - n y$ und den nächstgelegenen ganzzahligen Quotienten $n$. Bei $|n - x/y| = 0.5$ ist $n$ gerade.
x | Dividend |
y | Divisor ungleich 0 |
Rückgabewert: std::remainder(x,y)
.
Der im Argument n
abgelegte "Quotient"
hat das gleiche Vorzeichen wie x/y
und stimmt mit dem tatsächlichen Quotienten
mindestens in den letzten 3 —oder implementationsabhängig mehr— Bits überein,
da der tatsächliche Quotient round(x/y)
evtl. nicht in eine Ganzzahl passt.
#include <cmath> #include <iostream> int main() { double x = 13, y = 5; int n; std::cout << "Der Rest von " << x << '/' << y << " ist " << std::remquo(x, y, &n) << '\n'; std::cout << "Quotient: " << n << '\n'; }