c语言取余和取模,c语言取整和取余的语法

c语言取余和取模,c语言取整和取余的语法,C语言中四种取整方式,取余/取模运算以及负数取模问题详解

本文主要介绍了C语言中的四种舍入方法和负模问题,包括算法的分析和改进,这是很多编程竞赛中常用的算法。有需要的朋友可以参考一下。

目录

零舍入、负无限舍入、正无限舍入和舍入舍入舍入舍入舍入的汇总

零向取整、负无穷向取整、正无穷向取整、四舍五入取整

如果将浮点数赋给整数,则只保存整数位:

这种舍入方式是零方向舍入,在C语言中默认采用。

C语言中也有对应的零向取整函数:

类似地,还有另一个函数是负无穷大舍入:

它的取整方案是向负无穷大取整:

有地板取整,当然也有正无穷大取整的函数:

它的取整方式是向正无穷大取整:

最后,还有一个舍入函数:

模块/余数

模概念:若A和D是两个自然数,D不为零,则可以证明有两个唯一的整数Q和R,满足a=q*d r且0 R D .其中Q称为商,R称为余数。所以q=a/d,r=a% d。

但是模负数呢?

在C语言中:

在Python中:

可以看出,两个模型的结果是不同的。

a=-10,d=3;

-10=(-3)*3 (-1) q=-3,r=-1;c编程语言

-10=(-4)*3 2 q=-4,r=2;计算机编程语言

从上面的例子可以看出,特定余数R的大小基本上是由商q决定的。商取决于除法计算中的舍入规则。

比如上面的-10/3=-3.3333,如果商四舍五入为零,结果为-3,余数为-1,而如果商四舍五入为负无穷大,结果为-4,余数为2。

两种舍入方法是模和余数的区别:

如果取余数或模数,要先计算商,才能得到余数。

余数:尽可能让商,四舍五入为零。

模数:尽可能让商,四舍五入到负无穷大。

对于商为正的情况,这两种方法没有区别,因为零方向舍入和负无限方向舍入的结果是相同的。但是,如果商的结果是负的,余数和模数的结果是不同的。

因此,如果参与取余数的两个数据具有相同的符号,则取模相当于取余数,因为商是正的。如果符号不一样,取模和取余数就不一样。

综上所述,C语言中%的本质其实是取余数,Python中%的本质是取模。

并且通过上面的分析,我们可以得出结论:

特定余数r的大小主要取决于商Q.当用除法计算时,商又取决于舍入规则。

取余数和取模:尽可能取余数做商,四舍五入为零。取尽可能远的模数以产生商,并舍入到负无穷大。

如果参与余数的两个数据符号相同,则取模等价于余数。

如果余数中涉及的两个数据符号不同,在C语言(或者其他使用舍入到0的语言如C、Java)中,余数符号与被除数相同。(由于四舍五入为0)

总结

本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: