黑马程序员技术交流社区
标题: 关于位移运算总结 [打印本页]
作者: 胡建伟 时间: 2013-10-27 10:26
标题: 关于位移运算总结
做过基础测试题的小伙伴们估计大家都遇到过比如编程计算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
分析过程如图所示:
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |