A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 布德鸟 于 2016-4-21 23:01 编辑

昨天在学习黑马基础day02教学视频时,听到老师读这段代码“3 % 5”为“三mó以五”,我在想这是什么鬼,“%”不是读取余吗!
于是我百度了一下相关资料,思绪明朗,整理如下:
①运算符“%”的含义
运算符“%”可代表两种运算,一种是取余运算,一种是取模运算。
在不同的环境下,%运算符的含义不同,比如c/c++/java为取余,python为取模。
②取余运算 和 取模运算 的差别
取模运算 和 取余运算 两个概念有重叠的部分但又不完全一致。
运算公式都为: r = a % b (a, b为整型数);
运算的步骤都是:
1. 求整数商: c = a / b;
2. 计算模或者余数: r = a - c * b.
取余运算 和 取模运算 在第一步不同:取余运算在取c的值时,向0 方向舍;而取模运算在计算c的值时,向负无穷方向舍。

例子:计算 -7 % 4
那么:a = -7;b = 4;
第一步:求整数商,进行求余 c = -1(向0方向舍入),求模运算 c = -2(向负无穷方向舍入);
第二步:取余和取模的公式相同,但因c的值不同,求余时 r = -3,求模时 r = 1。

我用java测试了下,还真是取余(所以笔者建议java中的“%”读成“取余”),有图有真相:
计算“-7 % 4”的值输出到控制台

输出-3


很少总结记录东西,希望保持这个好习惯,谢谢大家~

参考资料:
百度百科—取模运算
http://baike.baidu.com/view/4887065.htm


6 个回复

倒序浏览
水黑马币真够丧心病狂
回复 使用道具 举报
小白想学javaEE 发表于 2016-4-21 22:35
水黑马币真够丧心病狂

我写的很认真的
回复 使用道具 举报

你为毛还在用Windows的记事本,用editplus吧
回复 使用道具 举报
参考资料来源就暴露了
回复 使用道具 举报
小白想学javaEE 发表于 2016-4-22 22:19
你为毛还在用Windows的记事本,用editplus吧

用最原始的资源装b
回复 使用道具 举报
格城先生 发表于 2016-4-22 22:54
参考资料来源就暴露了

特意给你们看的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马