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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 搁浅灬石头 中级黑马   /  2014-10-13 23:29  /  1830 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 搁浅灬石头 于 2014-10-14 23:31 编辑

在学习基本类型运算时,无意中遇到下面问题,自己乱敲的,,却不知道怎么回事?
为什么int a = -0 / 4;的输出结果是0
而double b = -0.0 / 4.0;的输出结果是-0.0注意是负号哦!!!


楼下的人啊,我问的是为什么0,输出的结果有了负号,数学学得0没有正负之分啊

9 个回复

倒序浏览
楼方,在做取模运算的时候结果的正负是取决于被除数,所以结果是负的。
举个例子:
                System.out.println("-10%3 = "+(-10%3)); //  -1  
                System.out.println("10%-3 = "+(10%-3)); //   1  
                System.out.println("-10%-3 = "+(-10%-3)); //  -1
       

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

回复 使用道具 举报
楼上答案不错
回复 使用道具 举报
838598737 发表于 2014-10-13 23:51
楼方,在做取模运算的时候结果的正负是取决于被除数,所以结果是负的。
举个例子:
                System.out.println(" ...

这是结果,但是不理解为什么
回复 使用道具 举报
康师傅-蛋黄派 来自手机 中级黑马 2014-10-14 06:46:01
报纸
上面答非所问呢
回复 使用道具 举报
本帖最后由 HM2014nuli 于 2014-10-14 06:57 编辑

取模的规律是这样的,当左边的值小于右边,结果是左边。
当左边的值等于右边,结果为0.
当右边的值=1,结果是0,当左边的值是负数或者右边是负数,结果只看左边
回复 使用道具 举报
人家问的是除法好么
回复 使用道具 举报
838598737 发表于 2014-10-13 23:51
楼方,在做取模运算的时候结果的正负是取决于被除数,所以结果是负的。
举个例子:
                System.out.println(" ...

不是的啊,我不是问这个的啦,我知道取模,负号取决于被模数,我想说的是,零没有正负之分啊
回复 使用道具 举报

可是那个不是我想要的答案啊
回复 使用道具 举报
838598737 发表于 2014-10-13 23:51
楼方,在做取模运算的时候结果的正负是取决于被除数,所以结果是负的。
举个例子:
                System.out.println(" ...

我想知道的是,0的负号问题。不要单纯的说符号取决于被模数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马