为什么JAVA中可以用浮点数取余于浮点数?

学JAVA的人应该都知道.... 学JAVA的人应该都知道. 展开
 我来答
无陪横
2012-01-16
知道答主
回答量:25
采纳率:0%
帮助的人:8万
展开全部
* 取余运算符 %
Java中是这样定义%运算的:对于所有的int型a和所有非0 int型数值b,满足恒等式 (a/b)*b + a%b == a,该恒等式具有正确的含义,但当它和Java中的截尾操作(3/2 == 1)结合时,它就意味着:当取余操作返回一个非零的结果时,它与左操作数具有相同的正负符号,例如:
-3/2 == -1;
3/(-2) == 1;
(-3)/(-2) == -1;
C和C++中的%运算只能对整型数进行,Java中的%运算则可以对浮点数进行。浮点数的%运算遵循以下原则:
1. 有NaN参与运算时,结果是NaN;(0%NaN 是 NaN)
2. 如果结果不是NaN,那么结果的符号和被除数符号一致;
3. 如果被除数是无穷大(NEGATIVE_INFINITY或POSITIVE_INFINITY),和/或除数是0,那么结果是NaN;
4. 如果被除数是有限值,除数是无限大,那么结果是被除数;(注意,不一定是0,0%Double.POSITIVE_INFINITY == 0.0)
5. 如果被除数是0,除数是有限值,那么结果是0;
浮点数的%运算不会抛出运行时异常,即使除数是0.0,因为此时的结果是NaN,而且,也不会出现溢出和精度丢失等问题,因为这里有无穷大存在。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式