取模运算及取余运算
取余运算(Complementation)即我们小学时学的数学算术概念,而取模运算(Modulus Operation)常用于程序设计中
公式
a%b = a - (a/b * b)
取整运算
要明白取模运算和取余运算之间的区别,首先要了解取整运算(Round Operation)
取整运算常用的有三种,向负无穷取整,向正无穷取整,向零取整
以lua语言为例,lua的math数学库提供三个取整函数,floor向负无穷取整,ceil向正无穷取整,modf向零取整
(PS:lua的modf函数在取整时除了会返回取整后的值,还会返回小数点后的值作为第二个返回值)
列子
a = 9
b = 4
a/b除法的结果取整方法有三种:
math.floor(9/4) = 2
math.ceil(9/4) = 3
math.modf(9/4) = 2
取模与取余
取余运算在运算时,a/b除法结果的取整使用的是modf()函数,向零取整
取模运算在运算时,a/b除法结果的取整使用的是floor()函数,向负方向取整
列子
a,b都为整型操作数时,取模运算和取余运算相同,结果也为整型;否则,结果都为浮点型。
a = 9
b = 4
取余运算:a/b = 2 ; a%b = 1;
取模运算:a/b = 2 ; a%b = 1;
a = -9
b = 4
取余运算: a/b = -2 ; a%b = -1;
取模运算: a/b = -3 ; a%b = 3;
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...