在大部分语言(c、c++、c#、java、vb.net、php等)中,求余的结果的正负与被除数相同。
创新互联公司专注于洛南网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供洛南营销型网站建设,洛南网站制作、洛南网页设计、洛南网站官网定制、小程序开发服务,打造洛南网络公司原创品牌,更为您提供洛南网站排名全网营销落地服务。
因此,-13%5的结果是-3。
但对于python,结果是2。
因为对于python而言,是这样算%的结果的:
a%b=a-(a//b*b)
a//b表示a除以b的整数部分,是向下取整,即向负无穷大方向取整。
因此,-13//5等于-3,而-13%5=-13-(-13//5*5)=-13-(-3*5)=-13-(-15)=2。
所以,-13%5的结果要看语言而定,一般是-3。
VB中通过Mod方式求余比如:Dim r as Integer '定义一个整型变量r
r = 50 Mod 4 '求50除以4的
余数
,赋值给变量r补充:VB中取余
运算符
是Mod
没有比这个更简单的了
Richtextbox1.text = Regex.Replace(Richtextbox1.text, " (\/\s*)?((\w+:)?\w+)(\w+(\s*=\s*(([ " " '])(\\[ " " ' 'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)? ", String.Empty)
VB6中Mod 运算符功能是两数相除求余。
如果两数中带小数,Mod 会先四舍六入取整,再按整数求余,余数带小数的话只取整数部分。
注意,如果有书说四舍五入,是错的。
在 VB6 用的是所谓银行家算法,是四舍六入:
小数部分比 0.5 小就舍(例如0.4,0.49999),比 0.5 大就进(例如0.6,0.500001),
刚好是 0.5 可能舍可能进,如果小数点前面是偶数就舍(例如2.5 得 2),是奇数就进(例如3.5 得 4)。
Mod 运算符在VB.NET中有改动,余数可以带小数。
以上资料来自:
所以2.5 mod 2结果是0