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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 牛刚 中级黑马   /  2013-1-20 19:15  /  1356 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  6>>2=1  就是6/2(2)(次幂)=1这里不明白怎么等于1呀

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 细心看视频哦!加油!

查看全部评分

4 个回复

倒序浏览
0110是十进制的6,向右移动两位就是0001,另一个1溢出了,就是1了~
当初学单片机的时候。。。汇编语言就是这么进行位运算的

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
6-->补码:    00000 110
右移一位:    00000 011(如果负数前面补1)
在右移一位: 00000 001 (1)
正数原码,反码,补码均相同   
还要注意一点:
对于int型整数移位 例:a>>b 系统先将b对32取模(b%32),得到的结果才是真正的移位的位数
对于long型整数移位,则b%64   
---<java就业培训教程>

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
>>是位运算中的向右移动二进制数运算
6的二进制是0000 0110。向右移动两位就是0000 0001 ,前面用00补充,后面的10舍去。二进制0000 0001就是10进制的1

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
6>> 2 = 1
上面运算表达式的意思是 6右移两位  
相当于6 /  (2)2    //(2)/2  是2的2次幂 就是4
6/4 等于几?   1.x  因为你的运算数都是int类型的 所以结果也是取整数. 就是1.

如果 二进制计算的话.
6的二进制是 110  
110 右移2为 就是移除最右边的两个数位 结果是 001
001的十进制就是1 .
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马