黑马程序员技术交流社区
标题:
算2乘以8最有效率的方法是什么?为什么?
[打印本页]
作者:
947415283
时间:
2014-5-29 21:36
标题:
算2乘以8最有效率的方法是什么?为什么?
算2乘以8最有效率的方法是什么?为什么?
作者:
种一棵树
时间:
2014-5-29 21:44
位移运算 是最快的。
2<<3 或 2<<<3
<<与<<<的区别是,<<是带符号的左移 <<<是不带符号的左移
因为操作的是二进制,计算机数据的底层实现形式。
作者:
yang1352546
时间:
2014-5-29 21:48
最快的方法就是2<<3.也就是把二进制位左移三位,就相当于把乘以2的三次方,
做个简单的比较,十进制的数左移三位就是乘以10的三次方.这样你就可以很好的记住了.
作者:
947415283
时间:
2014-5-29 21:49
位运算还不太懂
作者:
铁血丹心
时间:
2014-5-29 21:54
这个问题是毕老师讲过的原话,看视频要认真了啊
作者:
小钟
时间:
2014-5-29 22:03
看图吧,图上有说明
28.png
(11.22 KB, 下载次数: 42)
下载附件
2014-5-29 22:03 上传
作者:
王峰峰
时间:
2014-5-29 22:04
用移位运算 2<<3; 2乘以8 最后结果是16, 这是最省内存 最有效率的方法 。因为计算机内部本来处理的就是二进制数。
作者:
woshihq
时间:
2014-5-29 22:19
楼主正解!!!!!!!
作者:
成小龙
时间:
2014-5-29 22:34
计算机 操作的都是二进制数,移位是最快的运算方式 ,无需转换
作者:
felixzr
时间:
2014-5-29 22:45
楼上的说的很详细了,位运算
作者:
wyqs92
时间:
2014-5-29 22:50
移位运算最简便。。。
作者:
彭飞
时间:
2014-5-29 22:54
其实这道题不够严谨,
准确来说,应该是在计算机领域中,计算:2*8 最有效率算法是什么运算。
然后楼上各位兄弟都说的对,
当开始我也存在在很纳闷的思绪。
其实正常,我们已经根深蒂固的知道2*8 最简单就是 相乘=16。
反而 2进制的000 010 左移三位变成010 000 那么右边起 2,4,6,16 噢 答案是16 更复杂。
对人来说最简单的算法就是直接 相乘
对计算机而言,计算机是2进制的,换成人的思路计算就得转换为10进制,
然后计算, 也就非常复杂了。
而直接进行位移,对计算机就很简单了,
等同于 各自 用 最根深蒂固 的 方案 坚决问题。
作者:
吴海平
时间:
2014-5-29 23:39
看视频,上面说的很详细的
作者:
wangleixhlm
时间:
2014-5-29 23:41
左移3位啊
作者:
pk49800
时间:
2014-5-29 23:41
位運算,直接操作內存地址
作者:
没壳的蜗牛
时间:
2014-5-29 23:53
毕老师讲的很详细啊!
作者:
汤姆纳斯
时间:
2014-5-29 23:56
2<<3这个毕老师的视频里有
作者:
梦里花-静
时间:
2014-5-30 01:40
这个在毕老师的视频里说过吧
作者:
jiang_ming
时间:
2014-5-30 09:47
支持2楼
作者:
LFW
时间:
2014-5-30 10:23
毕老师的视频里都讲了,这帖会不会变水贴。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2