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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jtshawn 中级黑马   /  2014-9-21 10:24  /  2400 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 jtshawn 于 2014-9-21 10:41 编辑

怎么用最有效的方法算出2乘以几等于16?

20 个回复

倒序浏览
16/2  这个够高效了吧!呵呵
回复 使用道具 举报
这样的问题你也问得出来?
回复 使用道具 举报
风无向梦无痕 发表于 2014-9-21 10:38
16/2  这个够高效了吧!呵呵

...  你在逗我吧!最高效的是位运算
回复 使用道具 举报
jtshawn 发表于 2014-9-21 10:41
...  你在逗我吧!最高效的是位运算

其实我不知道  嘿嘿
回复 使用道具 举报

其实我也是随便发发,赚点经验
回复 使用道具 举报

其实我就是赚点经验
回复 使用道具 举报
位移,我也是为了赚金币
回复 使用道具 举报
高泳 中级黑马 2014-9-21 10:49:48
9#
不懂,!~= =
回复 使用道具 举报
视频里有讲过
回复 使用道具 举报
class  Noname1
{
        public static void main(String[] args)
        {
                long x=System.currentTimeMillis();
                for(long i=0;i<900000000;i++)
                {
                        int a = 16/2;
                }
                long y=System.currentTimeMillis();
                System.out.println("a打印的时间 :"+(y-x));
               

                long m=System.currentTimeMillis();               
                for(long i=0;i<900000000;i++)
                {
                        int b = 16>>1;
                }
                long n=System.currentTimeMillis();
                System.out.println("b打印的时间 :"+(n-m));


        }
}
我是刚开始学的,看楼主问完自己去敲了敲到现在。刚开始也以为是位运算比较快,然后就自己去写了。运行后没发现位运算能快多少,不知道这样做对不对望论坛各位大神指点
回复 使用道具 举报
运行结果图

QQ图片20140919131952.jpg (49.7 KB, 下载次数: 83)

QQ图片20140919131952.jpg
回复 使用道具 举报
位运算``````````
因为计算中存放的都是数据的二进制的补码
所以通过位运算是最快的
回复 使用道具 举报
位运算,毫无疑问,
回复 使用道具 举报
杨佳名 发表于 2014-9-21 11:07
class  Noname1
{
        public static void main(String[] args)

数据小了,运行效率体现不明显
回复 使用道具 举报
那就向右位一个  就行了呗
回复 使用道具 举报
jtshawn 发表于 2014-9-21 11:25
数据小了,运行效率体现不明显

嗯,这样也能看出是位运算有优势,不是很明显罢了。若数据多肯定还是要位运算
回复 使用道具 举报
小心水贴。。
回复 使用道具 举报
本帖最后由 陈云阳 于 2014-9-21 16:53 编辑

最效率的是直接用cpu寄存器进行运算
    mov ax,2;
    mov cx,3
a: add ax,2
     loop a;
回复 使用道具 举报
不懂。。。。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马