ビット単位の演算子を使用して 9 の表を見つける方法を教えてください。詳細な説明をいただければ幸いです。
質問する
1286 次
3 に答える
2
左へのビット シフトは、2 の乗算のようなものです。つまり、2x2x2 = 8 で、元の値を再度追加します (+1 を実行するのと同じです) = 9
すなわち
((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
等..
視覚化する
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
等..
意味 x = (n<<3)+n
シフト加算乗算
于 2013-06-16T07:53:22.223 に答える
0
9 は 1001 2なので、左に 3 回シフトして元の値を加算します。
于 2013-06-16T07:32:48.780 に答える