问:用最有效率的方法求出2乘以8等于多少?
顺便提一下 今天是我第一次去面试 根本都没准备 所以第一道题就做错了 题目是java基本数据类型有几种 想了半天 汗死啊 平时就研究小技术去了
这些基本概念忘的一干二净 所以我提醒各位要去面试的朋友 先找些面试题做做 熟悉了再去 我今天估计基本泡汤了 还好第一次 无所谓 下次我就长了记性了呵呵

解决方案 »

  1.   

    用最有效率的方法求出2乘以8等于多少?
    System.out.println(2<<3);
      

  2.   

    2 < <3
    很基本的题啊
      

  3.   


    好。byte、int、char、long、float、double、boolean和short
      

  4.   

    System.out.println(2 < <3); 移位
      

  5.   

    我并不认为将 1 左移 4 位算 2 乘以 8 的效率会比 2 * 8 要高,现代 CPU 中已经含有乘法指令,使用乘法运算与移位运算的效率几乎是没有区别。如果真的要进行代码优化,也不是去优化这些,而是去优化代码结构。说实在的这种网上抄来的垃圾面试题出得一点都没有水平,怎么没人出个使用最有效率的方法计算 3 乘以 7 !
      

  6.   

    不要拿这么弱智的常量位运算给计算机算,如果是要研究位运算的话,可以看一下 Henry S. Warren 写的 Hacker's Delight(中译本为《高效程序的奥秘》) 这本书,连 JDK 中 Integer, Long 方法中很多涉及位运算的部分都是直接来源于此。
      

  7.   

    同意13楼的观点。
    而且,为什么答案是2<<3,不是8<<1呢?
    所以,两个乘数都知道了,那么最快的办法就是16。
      

  8.   

    题目是java基本数据类型有几种 想了半天 ...汗死
      

  9.   

    这个题我笔试也考过,也是不会。非常同意bao110908!!
      

  10.   


    为什么不是8<<1呢 只需要移一位即可 有高人解答下这个疑问么
      

  11.   


    有道理啊.
    我看NET的字节码IL语言,都把1~10的int写成const的常量了,编译器直接支持的.
    2^3=8都这样搞....
    科学计算怎么办?都这样的代码,把人搞死了...
      

  12.   

    我支持火龙果果的意见,什么移位啊
    现在这么简单的问题
    JVM肯定做了优化了,还用手动写吗
    JAVA不像C或C++
      

  13.   

    int a = 8<<2
    不是更高效吗
      

  14.   


    说错了 应该是
    int a = 8<<1
      

  15.   

    我面试人的时候问int型的长度还没有人答对过~呵呵
      

  16.   


    估计那些人是学那些21天精通java就来应聘的
      

  17.   


    果兄,果然厉害。。我一直想2*8和2<<3到底能有多大差距,而且,这种东西,用的概率估计少的少
      

  18.   

    怎么感觉像个智力题
    类似1+2+3++n
    直接输出n*(n+1)/2直接输出16效率是不是最高
      

  19.   

    2<<3   多面试几次就知道了 呵呵 
    每套java面试里面都有这个题
      

  20.   


    C或C++也有自己的优化策略.最好的写法是:
    System.out.println(16);
      

  21.   

    2<<3,没事多上网上当点面试资料
      

  22.   

    为什么不是8 < <1呢 
      

  23.   

    2<<3   基本题
      

  24.   

    直接说结果2*8 = 16
    或用位运算2 << 3
      

  25.   

    System.out.println(2 < <3);移位算法是最快速的,你应该填写这个。