史迪仔爱编程 2024-01-31 13:27 采纳率: 73.3%
浏览 8
已结题

c++中的%符号代表的是数学中的取余运算还是取模运算?

c++中的%符号代表的是数学中的取余运算还是取模运算?如果两个数都是正数的话,取余和取模的结果是相同的,但是如果一正一负,结果不一样

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-01-31 13:28
    关注

    引自免费微信小程序:皆我百晓生

    在C++中,%符号代表的是取余运算,而不是取模运算。

    取余运算和取模运算在处理正数时结果是相同的,但在处理负数时结果有所不同。下面是取余和取模的差异:

    • 取余运算:结果的符号与被除数的符号相同。例如:-7 % 3的结果是-1,因为-7取余3的结果与-7具有相同的符号。
    • 取模运算:结果的符号与除数的符号相同。例如:-7 % 3的结果是2,因为-7取模3的结果与3具有相同的符号。

    以下是通过代码示例来说明:

    #include <iostream>
    
    int main() {
        int a = -7;
        int b = 3;
        
        int remainder = a % b; // 取余运算
        int modulo = a - (a / b) * b; // 取模运算
        
        std::cout << "取余运算结果:" << remainder << std::endl;
        std::cout << "取模运算结果:" << modulo << std::endl;
        
        return 0;
    }
    

    输出结果为:

    取余运算结果:-1
    取模运算结果:2
    

    因此,在处理一正一负的情况时,取余运算和取模运算的结果会有所不同。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月8日
  • 已采纳回答 1月31日
  • 创建了问题 1月31日