乘法优化——————位运算

计算机中的真正的运算方法之有加法,所谓的乘法是其他算法将之推倒出来的。

这其中就有一种重要的方法——位运算。

说到位运算就要提到位运算符。位运算符就是运算符号,就好比像四则运算的运算符号一样。

那么,位运算符都包括那些呢?  常见的位运算符包括以下几种:

&("and")        |("or")        ^("xor")        ~("not")

    与                或              异或               非

用法如下:

77&55

77 = 64 + 8 + 4 + 1                   1001101

55 = 32 + 16 + 4 + 2 + 1           0110111

两数相与                                   0000101

则77 & 55 = 3 

而计算机中的乘法运算就是运用的位运算的基础上在加上移位操作

例如:123 * 222

222 * 64 + 222 * 32 + 222 * 16 + 222 * 8 + 222 * 2 + 222 * 1

222转换为二进制数:1101110

222*64   64等于2的6次方     就是将222的二进制数向左移动6位

222*32   32等于2的5次方     就是将222的二进制数向左移动5位。。。

则原式 = 1101110000000+110111000000+11011100000

                +1101110000+11011100+1101110

            = 11010011011010 

            = 13530

你可能感兴趣的:(乘法优化——————位运算)