黑马程序员技术交流社区

标题: 问个小问题 [打印本页]

作者: 散人online    时间: 2013-1-12 11:55
标题: 问个小问题
毕老师集合视频里面讲折半查找时有句代码是这样写的mid=(max+min)>>1来表示mid=(max+min)/2,我记得前面的视频里面有讲过但一时找不到了,请大神现身讲解一下>>1为什么是/2?

作者: 陈丽莉    时间: 2013-1-12 12:02
右移就是除法,左移就是乘法,移动几位就是2的几次幂啊~
作者: 韩俊杰    时间: 2013-1-12 13:16
是这样的,<<(左移)相当于乘以2的倍数,>>(右移)相当于除以2的倍数,移几位就是对乘以或除以2的n次幂
这样吧我举一个例子,你就会明白的

youyi.JPG (44.07 KB, 下载次数: 32)

youyi.JPG

作者: 韩俊杰    时间: 2013-1-12 13:21
补充一下,图片内容可能看起来有点模糊,你可以把这个图片保存下来会看得清楚一些
作者: 散人online    时间: 2013-1-12 13:27
懂了,谢谢




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