-5

有人可以告诉我如何使用按位运算符找到 9 的表。详细的描述将不胜感激。

4

3 回答 3

2

向左移位就像乘以 2。所以 2x2x2 = 8 然后再次添加原始值(这与 +1 相同)= 9

IE

((v<<1)<<1)<<1) + v == (v << 3) + v
于 2013-06-16T07:32:59.877 回答
2

乘以 2 的 N 次方(即 2^N)将位向左移动 N 次

0000 0001 = 1 

times 4 = (2^2 => N = 2) = 2 bit shift : 0000 0100 = 4

times 8 = (2^3 -> N = 3) = 3 bit shift : 0010 0000 = 32

ETC..

形象化

Times 9 只是像这样添加原始值

0000 1001    // 9 original value

0001 0000    // 2 shift 3 to left
0000 0010 +  // 2
-----------
0001 0010 = 18

0001 1000    // 3(0000 0011) shift 3 to left
0000 0011 +  // 3
-----------
0001 1011 = 27

0010 0000    // 4(0000 0100) shift 3 to left
0000 0100 +  // 4
-----------
0010 0100 = 36

ETC..

含义 x = (n<<3)+n

移位加乘法

于 2013-06-16T07:53:22.223 回答
0

9 是 1001 2,因此左移 3 次并添加原始值。

于 2013-06-16T07:32:48.780 回答