黑马程序员技术交流社区

标题: 新人求问 [打印本页]

作者: a609519303a    时间: 2015-8-14 17:03
标题: 新人求问
看视频呢上说>>的结果是除以2的移动位数次幂,那么60>>应该是60/(2的4次方)=3.75  应该是3    但实际结果是4
作者: zby_allan    时间: 2015-8-14 17:24
60>>怎么会有结果呢 如果是60>>4 得到的也是3 因为取整是吧小数部分直接去掉了
作者: iamzk    时间: 2015-8-14 17:35
本帖最后由 iamzk 于 2015-8-14 17:37 编辑

60 >> 4
由于60默认为int类型,所以他的计算结果也应为int类型。具体二进制计算过程如下:
二进制:111100 >> 4 = 11 = 3(十进制)
  1. /*
  2. Hello World演示代码。
  3. */
  4. class Demo
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 System.out.println("60>>4=" + (60 >> 4));
  9.         }
  10. }
复制代码



QQ截图20150814173612.jpg (13.92 KB, 下载次数: 8)

QQ截图20150814173612.jpg

作者: 肋肋    时间: 2015-8-14 18:12
楼上很详细~
作者: zhao1991    时间: 2015-8-14 20:10
是这样的

作者: a609519303a    时间: 2015-8-14 21:21
iamzk 发表于 2015-8-14 17:35
60 >> 4
由于60默认为int类型,所以他的计算结果也应为int类型。具体二进制计算过程如下:
二进制:111100  ...

清楚了。早上不知道怎么晕了,谢谢了
作者: iamzk    时间: 2015-8-14 21:28
恩,你现在在自学吗?
作者: Demon浣熊    时间: 2015-8-14 21:29
真神奇~。答解的很详细~长知识了
作者: boboyuwu    时间: 2015-8-14 21:29
四舍五入




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2