当前位置:首页C++ > 正文

c++中模运算和取余

作者:野牛程序员:2025-11-23 09:49:27C++阅读 2287
c++中模运算和取余

◆ 基础概念

1. 模运算(mod)

在 C++ 中使用 % 运算符。
本质:得到两个整数相除后的“余数”,结果符号与左操作数保持一致。

示例:

7 % 3  // 结果为 1
-7 % 3 // 结果为 -1
7 % -3 // 结果为 1

规律:

a = (a / b) * b + (a % b)
其中 / 是向零取整的整数除法

2. 取余运算(remainder)

从数学角度,“取余”是余数的统称,而在 C++ 标准库中还有一个函数:

std::remainder(x, y)

其计算方式与 % 不同:
计算 x − n * y,其中 n 为最接近 x/y 的整数(四舍五入)。结果可能为正、为负,也可能大于 |y|/2。

示例:

#include <cmath>
std::remainder(7.0, 3.0);   // 结果为 1
std::remainder(7.0, 4.0);   // 结果为 -1

◆ 二者核心区别

项目% 运算符(整数模)std::remainder(浮点余数)
适用类型仅整数浮点数
规则向零截断后的余数基于四舍五入的数学定义
结果范围绝对值 <b
最重要特性结果符号与左操作数相同结果可以正也可以负

◆ 简单总结

  • %:整数的模运算,是最常用的取余方式。

  • std::remainder:数学意义上的浮点余数,与 % 的规则完全不同。

若需要整数运算,使用 %
若需要浮点精确余数,可使用 std::remainder


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++中模运算和取余
  • 相关推荐

    最新推荐

    热门点击