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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡建伟 中级黑马   /  2013-10-27 10:26  /  729 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

       做过基础测试题的小伙伴们估计大家都遇到过比如编程计算2乘以8等于几,什么方法效率更高?     
       今天我就来小小总结下位移运算,和大家分享一下。记得当初下载的10道基础测试题有一道就是关于位移运算的,以前学java时候对此没有任何印象,一时间无从下手,在网上苦苦搜寻相关资料,才有点明白,其实看过毕向东老师的Java基础视频的里面有专门一课讲解位移运算,接下来我在此总结下,希望对大家有所帮助。
       下面是我之前下载的基础测试题里面一道,问:编程计算3乘8等于几,什么方法效率更高? 如下是我自己当初的解答,答案不是十分完美

package com.itheima;
/**
* 2.编程计算3乘8等于几,什么方法效率更高?
* @author xiaowei
*
*/
public class Test2 {

public static void main(String args[]){
//采用移位运算输出结果
//System.out.println((2<<3)+(2<<2));本来想把8拆分成2的整数,不过反而麻烦
System.out.println(3<<3);// 左移相当于乘. 左移一位相当于乘2(2^1);左移两位相当于乘4(2^2);左移三位相当于乘8(2^3)
}

}

    我把毕向东老师视频教程那道题拿出来分析,这样更容易理解为何位移运算更有效率。

    问:最有效率的方式计算出2乘以8等于几?
    答:2<<3
          分析过程如图所示:

评分

参与人数 1技术分 +1 收起 理由
To + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马