黑马程序员技术交流社区

标题: 如何快速实现3*8 [打印本页]

作者: danielchung6600    时间: 2016-6-26 23:03
标题: 如何快速实现3*8
如题,应该是位运算,但是具体流程不清楚 求大神解答

作者: 迅雷    时间: 2016-6-26 23:42
3<<3,左移3位,相当于3乘以2的3次方
作者: caesar_QMwS4    时间: 2016-6-26 23:45
位移运算啊!^
作者: 紫电_恶魔    时间: 2016-6-27 00:01
迅雷 发表于 2016-6-26 23:42
3

听不懂,详细讲解一下吧,真不懂啊
作者: lizihanglove    时间: 2016-6-27 00:13
2的二进制是: 00000000 00000000 00000000 00000011
左移三位就是:00000000 00000000 00000000 00011000
此时,结果是:2*2^4 +2*2^3 = 16 +8 =24;

结果算术乘法一样,但位运算速度超过算术运算,因此推荐使用二进制。
回答完毕。



作者: 貂裘换酒    时间: 2016-6-27 09:16
位移最简单,就是将3化为二进制,然后再左右位移。就像2<<3=8一样




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2