Detailed explanation of the remainder function in C
In C, the remainder operator (%) is used to calculate the remainder of the division of two numbers. It is a binary operator whose operands can be any integer type (including char, short, int, long, etc.) or a floating-point number type (such as float, double). The remainder operator returns a result with the same sign as the dividend.
For example, for the remainder operation of integers, we can use the following code to implement it:
int a = 10; int b = 3; int c = a % b; // c的值为1
In the above code, variable a is divided by variable b, and the remainder is 1, Assign it to variable c. We can also use floating point numbers to perform remainder operations. The code is as follows:
float m = 10.5; float n = 3.2; float p = fmod(m, n); // p的值为1.3
In this example, we use the fmod function in the cmath header file to calculate the remainder of the floating point number m divided by n. The return value of the fmod function is also a floating point number type.
In addition to using the remainder operator and the fmod function, C also provides some other functions for calculating remainders, such as the remainder function and the modf function. The prototype of the remainder function is as follows:
double remainder(double x, double y); float remainder(float x, float y); long double remainder(long double x, long double y);
This function returns the remainder of the division x/y. Unlike the fmod function, the remainder returned by the remainder function has the same sign as the dividend. For example, the following code demonstrates the use of the remainder function:
double x = 10.5; double y = -3.2; double r = remainder(x, y); // r的值为1.3
In this example, we divide the floating point number x by the floating point number y, and use the remainder function to calculate their remainders, and the result is 1.3.
Another commonly used function for calculating remainders is the modf function, which is used to decompose a floating point number into an integer part and a decimal part. The prototype of the modf function is as follows:
double modf(double x, double* intpart); float modf(float x, float* intpart); long double modf(long double x, long double* intpart);
The first parameter of this function is the floating point number to be decomposed, and the second parameter is a pointer to double/float/long double type, used to store the integer part. The modf function returns the decimal part of the floating point number x. The following is an example:
double num = 3.14; double intpart; double fracpart = modf(num, &intpart); // intpart的值为3.0, fracpart的值为0.14
In this example, we decompose the floating point number num into the integer part and the decimal part, and store the decomposed values in the intpart and fracpart variables respectively.
To sum up, C provides a variety of methods to calculate the remainder and decompose functions of floating-point numbers. Whether it is an integer or a floating point number, through these functions, we can easily complete related computing tasks in C.
The above is the detailed content of Detailed explanation of remainder function in C++. For more information, please follow other related articles on the PHP Chinese website!