Home > Backend Development > C++ > body text

Detailed explanation of remainder function in C++

WBOY
Release: 2023-11-18 14:41:08
Original
4214 people have browsed it

Detailed explanation of remainder function in C++

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
Copy after login

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
Copy after login

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);
Copy after login

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
Copy after login

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);
Copy after login

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
Copy after login

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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!