可以分为以下4种情况来讨论:注意a,b都为整数,编译环境为VS2010。

1)相同类型%运算

1-1)a为正整数,b也为正整数

1-2)a为负整数,b也为负整数

2)不同类型%运算

2-1)a为负整数,b为正整数

2-2)a为正整数,b为负整数

 结论:

参见下面一篇博文,内容有修改

C语言中规定,%运算符的两个操作数必须同为整数类型,这个很好理解,平时用%也是这么运算的,问题是如果这两个操作数异号,那么最后的计算结果该以哪个操作数的符号为准呢?C99标准中规定,若有a,b两个整型数据作取模运算,则它们必须满足以下等式:

                              (a / b) * b + a % b == a;

从这个等式可以看出,(a / b) * b运算结果的符号一定取决于a,而在C语言中又规定,两个整数相除,如果不能整除,那么结果的小数部分的处理应该向0靠近;综合以上所有要求,如果两个异号整数进行取模运算,那么结果的符号应该与被除数a相同,而除数b的符号对结果不产生影响
————————————————
版权声明:本文为CSDN博主「C_HelloWorld」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/C_HelloWorld/article/details/6842856

C语言%运算:a%b相关推荐

  1. c语言运算优先级与结合方向的问题

    c语言运算的结合方向一直困扰我,不过我终于get到了哈哈 先附上c语言运算优先级和结合方向图片 以上有c语言一共的15个优先级,从上往下递增 c语言的运算符号有很多,当我们打代码或者看代码的时候符号多 ...

  2. c语言 的表示方法,c语言运算符号的表示方法

    c语言运算符号的表示方法 答案:1  信息版本:手机版 解决时间 2020-03-30 17:11 已解决 2020-03-30 12:55 c语言运算符号的表示方法 全部回答 1楼 2020-03- ...

  3. c语言符号运算优先级6,c语言运算符号的优先级

    c语言运算符号的优先级 本文来自百度搜索只为查看方便 优先级等级口诀: 圆方括号.箭头一句号, 自增自减非反负.针强地址长度, 乘除,加减,再移位, 小等大等.等等不等, 八位与,七位异,六位或,五与 ...

  4. 和丨c语言运算符号理解(单片机学习)

    &和丨c语言运算符号理解(单片机学习) a&0x80 a丨0x80 丨是按位或运算 & 是按位与运算 ox表示十六进制数 关于按位与运算,先要将其他的进制数转化为二进制数, 然 ...

  5. c 语言运算符号大全,c语言运算符号详细说明

    C语言中具有右结合性的运算符包括所有单目运算符以及赋值运算符(=)和条件运算符.其它都是左结合性. 判断表达式计算顺序时,先按优先级高的先计算,优先级低的后计算,当优先级相同时再按结合性,或从左至右顺 ...

  6. 计算机c语言运算符号取整,c语言取整(c语言四舍五入取整)

    C语言有以下几种取整方法:1. 直接赋值给整数变量.如:int i = 2.5: 或 i = (int) 2.5: 这种方法采用的是舍去小数部分2. 使用floor函数.floor(x)返回的是小于或 ...

  7. c语言字符怎么运算,c语言运算符号(c语言如何输入运算符号)

    C语言运算符都有那些!各个运算符表示什么,怎么排列麻烦各位老师下,谢. 运算符的种类C语言的运算符可分为以下几类: 1.算术运算符 用于各类数值运算.包括加(+).减(-).乘(*).除(/).求余( ...

  8. c 语言运算符号大全,c语言关系运算符号有哪些?

    c语言关系运算符号有".>=.==.!=".关系运算符都是双目运算符,其的作用是判明这两个表达式的大小关系:关系运算符的优先级低于算术运算符,高于赋值运算符:其运算结果只有0 ...

  9. C语言运算符号优先级

    1.符号概述 C语言基本上是所有语言里面运算符号最多的一种了.学习C语言不可避免要运用到运算符号.优先级和结合性是学习符号最重要的点. 2.优先级和结合性 基本优先级: 指针最优,单目运算优于双目运算 ...

  10. c语言中 ||优先级,C语言运算符号的优先级 A: B: C:|| D:|

    我知道从高到低为:圆括号 单目运算符 算术运算符 关系运算符 逻辑运算C语言运算符优先级顺序如下所示: 自增运算符 ++ 和自减运算符 ,在作后缀运算符(如表达式 x++)时,较其用作前缀运算符(如表 ...

最新文章

  1. javascript 编辑网页
  2. 3.25 for循环
  3. 求素数——多线程练习
  4. iphone震动反馈怎么设置_如何评价 iPhone 上的振动反馈?
  5. iOS应用横竖屏切换
  6. “假冒hao123”“北大青鸟”被黑 钓鱼挂马两不误
  7. [源码阅读]解析Anime(JS动画库)核心(2)
  8. FileBrowser文件浏览器部署
  9. VIJOS-P1626 桐桐的糖果计划
  10. 大公司在Github的开源代码
  11. 企业推广品牌网络营销占比必须重视哪些流程
  12. python魔方方法__add__、__mul__、__sub__、__truediv__
  13. Win10如何彻底禁用小娜?彻底禁用小娜的方法
  14. 一文看懂推荐系统:物品冷启05:流量调控
  15. 数据结构之简单迷宫求解
  16. AR市场不明朗,VR市场方兴未艾
  17. Erratic Expansion UVA - 12627
  18. 本科计算机专业英语要过几级,计算机英语必须过几级
  19. Android - ReactNative Debug 技巧
  20. Thinkpad安装系统后,在设备管理器中有一其他设备叹号为“PCI 数据捕获和信号处理控制器”...

热门文章

  1. 视觉机器学习20讲-MATLAB源码示例(17)-RBM学习算法
  2. 如何快速构建内部钓鱼平台
  3. 【机器学习】贝叶斯分类器【下】
  4. 打开CHM文件是空白的
  5. “三智”战略与世界人工智能大会同频 华人运通车路协同技术成行业标杆
  6. 嘿嘿,几行代码秒出美女素描图
  7. 机房服务器招标文件,网络服务器中心机房招标技术文件.doc
  8. 【翻译】.NET 5中的性能改进
  9. Linux驱动加载实例
  10. telnet重启计算机,win7系统重启Telnet命令的操作方法