黑马程序员技术交流社区
标题:
关于运算符问题
[打印本页]
作者:
新手啊,多照顾
时间:
2013-8-4 21:38
标题:
关于运算符问题
本帖最后由 新手啊,多照顾 于 2013-8-5 19:45 编辑
int a=25,b=6;
int x=-a%-b;
x=-1;
请问为什么?
作者:
yan
时间:
2013-8-4 21:44
算术运算符有需要注意的问题:
如果对负数取模,可以把如模数负号忽略不记,因此你的程序就相当于-25%6,25对6取余,余数是-1
不知道这样解释你能理解吗
作者:
庞海瑞
时间:
2013-8-4 22:06
两边必须同类型
作者:
wang100753
时间:
2013-8-4 22:12
1、数字精度
所谓数字精度,也就是系统在做数字之间的算术运算时,为了尽最大可能地保持计算机的准确性,而自动进行相应的转换,将不同的数据类型转变为精度最高的数据类型。规则如下:
1)当使用运算符把两个操作数结合到一起时,在进行运算前两个操作数会转化成相同的类型。
2)两个操作数中有一个是double类型的,则另一个将转换成double型。
3)两个操作数中有一个是float类型的,则另一个将也转换成float型。
4)两个操作数中有一个是long类型的,则另一个将也转换成long型。
5)任何其它类型的操作,两个操作数都要转换成int类型。
2、整数型运算(int型)
对于int型的相关操作,加、减、乘的结果都是非常容易理解的,重点讲一下除(/)的运算。
两个整数相除的结果是整数,这一点与数学中是不同的,在Java中,两个整数相除的结果类似于数学中的求模运算。整除的余数是用%表示,例如15 / 2 = 7,而不是7.5,15 % 2 = 1。
作者:
逆袭的风
时间:
2013-8-4 22:23
对负数取模结果的符号只和被除数有关//也就是a%b中的a
想不明白的话,可以倒过来想一想,就明白了
商 * 除数 + ??(余数) = 被除数
作者:
王松松
时间:
2013-8-4 23:58
你应该是对取余这个运算符的不理解。
% 运算符
25%6 = 1;
-25%6= -1;
-25%-6 = -1;
总结一条:取余运算先算其正数的取余值,然后其结果得符号取决于运算符左边的值得符号。
与你一同学习。{:soso_e141:}
作者:
EYE_SEE_YOU
时间:
2013-8-5 12:58
这个东西呢,这么算就明白了,
-25%-6等同于-25%-6
%取模这个东西就求余数
左边的-25除以右边的-6
-24是-6也是6能在-25里面取到的最大倍数
那-25减一下这个倍数不就是-1了么
所以-25%-6=》-25%6=>-25-(-24)=>-1
作者:
静水流华
时间:
2013-12-8 20:21
在取模运算中如果负数是被除数,结果就为负数
作者:
zhouliang
时间:
2014-2-27 15:03
我想问下,在取余运算中,一个正数对一个负数取余,那么这个余数的正负又如何,例如上面这道题,25%-6的结果又是啥样的,这两道题有哪些相似的规律没有,特点和区别又是什么
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2