黑马程序员技术交流社区
标题:
关于java运算符号的问题
[打印本页]
作者:
294645832
时间:
2014-5-23 21:53
标题:
关于java运算符号的问题
本帖最后由 294645832 于 2014-6-5 15:25 编辑
在学习java 的过程中,一直没有搞懂两个运算符号 一个为 % 还有一个为>>>或者<<< 往解答一下
作者:
想飞的鱼
时间:
2014-5-23 22:08
本帖最后由 想飞的鱼 于 2014-5-23 22:11 编辑
%属于算术运算符,叫模,说白了,就是取余数,
比如5%2,就是5除以2的余数,即:1
>>>属于位运算符,叫无符号右移,就是对二进制的运算,
比如6>>>2,先取6的二进制为0000 0000 0000 0000 0000 0000 0000 0110,
然后往右移两位,因为是无符号右移所以高位补0,得到0000 0000 0000 0000 0000 0000 0000 0001
<<<这个符号貌似没有,但是有<<这个,也是位运算符,叫左移,方法同上,低位补0
另外还有>>这个符号,叫右移,也是位运算符,方法亦同上,不过移完当原来高位为1 的时候高位补1,原来高位为0的时候高位补0
希望能帮到你!共同学习!加油!
作者:
夏季熬成了秋
时间:
2014-5-23 22:14
% 是取模的意思,也就是取余数。例:5%2 结果为1 。
>>>是逻辑右移的意思,为无符号右移,空出来的位置用零补齐。
<<<是逻辑左移的意思,为无符号左移,空出来的位置用零补齐。
如有不全面之处,请见谅。
作者:
大bao
时间:
2014-5-23 23:01
楼上的两哥们回答的挺好的,百度“一下位运算符”可得到比较详细的介绍,搞清二进制以及原码补码什么的理解起来就快多了
作者:
294645832
时间:
2014-5-23 23:57
想飞的鱼 发表于 2014-5-23 22:08
%属于算术运算符,叫模,说白了,就是取余数,
比如5%2,就是5除以2的余数,即:1
谢了 已经明白了
作者:
寻找人生目标
时间:
2014-5-24 00:01
学习学习
作者:
闫镜湾
时间:
2014-5-24 00:15
%这个是非常常用的符号,>>> AND <<<这两个,做为了解一下就行了
作者:
吴海平
时间:
2014-5-24 01:03
首先%是算术运算符,学术名称“模”,取余数运算,987%100=87,987%10=7,7%10=0,7%5=2,但是任意数模以1都等于该数本身,在后面的编程练习题目中有很多会用到它.
后面两“<<<”符号不存在,“>>>”为无符号右移,属于位运算符,位运算符包括左移“<<”;右移“>>”和无符号右移“>>>”,其中右移:10>>2,表示为0000 0000 0000 10|10最右侧两位数(|线处右侧两位)右移,那么最左侧空缺两位用0补上,而-10>>2,表示为1111 1111 1111 0101右移两位,高位还用原最高位1补上,即1111 1111 1111 1101,但如果是 -10>>>2时,则右移后最高位空缺的那两位用0补,即0011 1111 1111 1101;总结:右移“>>”运算后空缺位用原最高位数值补上,而无符号右移“>>>”右移后,空缺位只用0补上,希望看懂了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2