最近在跟孩子学习表内除法,想到一个问题:C语言里怎样处理负数取模?
表内除法:12÷4=3 整数除法:13÷4=3…1 整数整除:13/4是等于3吗? 负数取模:-13%4等于多少?13%-4呢?-13%-4呢?
先看看整除。明明除不尽,又要求结果是整数,一般有这样几种方法:
而C语言里的整除,采用的就是向零取整(Truncate)。
再来看取模。不管哪种整除操作,都会符合公式:被除数÷除数=商…余数,所以:余数=被除数-除数*商。 那么C语言里取模就是: 13÷4=3…1;-13÷4=-3…-1;13÷-4=-3…1;-13÷-4=3…-1 15÷4=3…3;-15÷4=-3…-3;15÷-4=-3…3;-15÷-4=3…-3
规律就是:余数与被除数同符号
看来这四则运算里,除法比其它三项复杂多了
想到一个段子:为什么古龙先生取名字经常用数字,而且多是奇数?例如绝代双骄的轩辕三光、七杀手的龙五、欢乐英雄的燕七、武林外史的朱七七、凤舞九天的宫九、萧十一郎、三少爷的剑的燕十三、碧血洗银枪的无十三、风铃中的刀声的彭十三豆。。。 这样显得很厉害,因为很难除
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有