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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 记忆深处里 中级黑马   /  2014-10-25 10:13  /  1239 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

System.out.println(9>>3);的输出结果是1.
System.out.println(3>>3);的输出结果为什么是0阿 ???

5 个回复

倒序浏览
既然知道9右移3位是1,那就应该明白3右移3位为什么是0。原理相同,自己画一下图。
回复 使用道具 举报
9是1001  右移三位是1
3是0011  右移三位是0
回复 使用道具 举报
这是位运算,要先把十进制的数化成二进制表示,9是1001,3是0011,右移三位,相当于把右边的截去3位,当然,这指的是无符号的运算。
回复 使用道具 举报
xiaotian44 发表于 2014-10-25 11:42
这是位运算,要先把十进制的数化成二进制表示,9是1001,3是0011,右移三位,相当于把右边的截去3位,当然, ...

恩 ,懂了  谢谢
回复 使用道具 举报
付江涛 发表于 2014-10-25 10:28
既然知道9右移3位是1,那就应该明白3右移3位为什么是0。原理相同,自己画一下图。 ...

恩 原来我多想了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马