有人可以告诉我如何使用按位运算符找到 9 的表。详细的描述将不胜感激。
问问题
1286 次
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 回答