%符号——java的取余运算——python的取模运算

系统 955 0

版权声明:转载请注明作者(独孤尚良dugushangliang)出处: https://blog.csdn.net/dugushangliang/article/details/90172391

 

取余运算和取模运算类似但是不同。同样的A%B,设C是A和B的商,即A=B*C。

C如果是整数,说明A和B整除,取余运算和取模运算都是0。

C如果是小数(绝大部分是这种情况),则看C是大于0还是小于0,如果大于0则取余运算和取模运算结果一样,如果小于0,则有不同,这是因为取余运算和取模运算的机制不同。

对于C的取整,取余运算是向0取整,取模运算是向负无穷取整。所以取余运算是直接去掉小数部分,取模运算是比C小的最大整数。如C为1.23,则取余运算和取模运算都是去掉小数,取1。如C为-1.23,取余运算去掉小数,取-1,取模运算取小于-1.23的最大整数-2。C一旦确定,则取余运算或取模运算的值也出来了。

在数轴上说,对X向0取整,指的是X向0方向遇到的第一个整数。同样的,对X向负无穷取整,指的是X向负无穷方向上遇到的第一个整数。所以向0取整就是直接去掉小数部分,向负无穷取整是取小于X的最大整数。

经归纳,得知:取余运算的值的符号跟随A,取模运算的符号跟随B。

A值 B值 取余运算 取模运算

下图左为java,右为python。

%符号——java的取余运算——python的取模运算_第1张图片

附注:正负号不是直接加上的,如-7%4,在python是取模,查上表得知符号为正,其值为1,在java是取余,查上表得知符号为负,其值为-3。所以这个正负号的变化,是加上或减去B(此处-7%4的B是4)得到的。

 

独孤尚良dugushangliang——著


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请请扫描上面二维码支持博主1元、2元、5元等您想捐的金额吧,狠狠点击下面给点支持吧

发表我的评论
最新评论 总共0条评论