黑马程序员技术交流社区

标题: 算术运算正负号??? [打印本页]

作者: 搁浅灬石头    时间: 2014-10-13 23:29
标题: 算术运算正负号???
本帖最后由 搁浅灬石头 于 2014-10-14 23:31 编辑

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


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

作者: 838598737    时间: 2014-10-13 23:51
楼方,在做取模运算的时候结果的正负是取决于被除数,所以结果是负的。
举个例子:
                System.out.println("-10%3 = "+(-10%3)); //  -1  
                System.out.println("10%-3 = "+(10%-3)); //   1  
                System.out.println("-10%-3 = "+(-10%-3)); //  -1
       
作者: 踏云    时间: 2014-10-13 23:58
楼上答案不错
作者: yangyujoe    时间: 2014-10-14 05:40
838598737 发表于 2014-10-13 23:51
楼方,在做取模运算的时候结果的正负是取决于被除数,所以结果是负的。
举个例子:
                System.out.println(" ...

这是结果,但是不理解为什么
作者: 康师傅-蛋黄派    时间: 2014-10-14 06:46
上面答非所问呢
作者: HM2014nuli    时间: 2014-10-14 06:56
本帖最后由 HM2014nuli 于 2014-10-14 06:57 编辑

取模的规律是这样的,当左边的值小于右边,结果是左边。
当左边的值等于右边,结果为0.
当右边的值=1,结果是0,当左边的值是负数或者右边是负数,结果只看左边
作者: 田峻菘    时间: 2014-10-14 21:37
人家问的是除法好么
作者: 搁浅灬石头    时间: 2014-10-14 23:28
838598737 发表于 2014-10-13 23:51
楼方,在做取模运算的时候结果的正负是取决于被除数,所以结果是负的。
举个例子:
                System.out.println(" ...

不是的啊,我不是问这个的啦,我知道取模,负号取决于被模数,我想说的是,零没有正负之分啊
作者: 搁浅灬石头    时间: 2014-10-14 23:35
踏云 发表于 2014-10-13 23:58
楼上答案不错

可是那个不是我想要的答案啊
作者: 搁浅灬石头    时间: 2014-10-16 12:23
838598737 发表于 2014-10-13 23:51
楼方,在做取模运算的时候结果的正负是取决于被除数,所以结果是负的。
举个例子:
                System.out.println(" ...

我想知道的是,0的负号问题。不要单纯的说符号取决于被模数。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2