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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 294645832 中级黑马   /  2014-5-23 21:53  /  2523 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 294645832 于 2014-6-5 15:25 编辑

在学习java 的过程中,一直没有搞懂两个运算符号    一个为   %       还有一个为>>>或者<<<    往解答一下

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!欢迎继续来论坛学习~

查看全部评分

7 个回复

倒序浏览
本帖最后由 想飞的鱼 于 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
希望能帮到你!共同学习!加油!

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 很给力!

查看全部评分

回复 使用道具 举报 1 0
%  是取模的意思,也就是取余数。例:5%2  结果为1  。
>>>是逻辑右移的意思,为无符号右移,空出来的位置用零补齐。
<<<是逻辑左移的意思,为无符号左移,空出来的位置用零补齐。
如有不全面之处,请见谅。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 很给力!

查看全部评分

回复 使用道具 举报
楼上的两哥们回答的挺好的,百度“一下位运算符”可得到比较详细的介绍,搞清二进制以及原码补码什么的理解起来就快多了
回复 使用道具 举报
想飞的鱼 发表于 2014-5-23 22:08
%属于算术运算符,叫模,说白了,就是取余数,
比如5%2,就是5除以2的余数,即:1

谢了  已经明白了
回复 使用道具 举报
学习学习         
回复 使用道具 举报
%这个是非常常用的符号,>>> AND <<<这两个,做为了解一下就行了
回复 使用道具 举报
       首先%是算术运算符,学术名称“模”,取余数运算,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补上,希望看懂了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马