面试题:如何计算2*8最快?

可以使用位运算
位运算用于二进制
简单介绍一下二进制的运算
A= 0011 1100
B= 0000 1101
———————
A&B=0000 1100(相同取1)
A|B=0011 1101(有1取1)
A^B=0011 0001(不同取1,相同取0)
~B=1111 0010(取反)

《 左移 *2
》 右移 /2
回到题目:
16=2×2×2×2
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
发现1左移3位后得16

使用位运算效率极高

posted @ 2026-03-14 20:34  编程小猴  阅读(14)  评论(0)    收藏  举报