目次2進数の乗除算シフト演算2進数の乗除算2進数の乗算と除算を考えていきましょう。その前に除算は減算と同じようにより簡単な乗算の応用として定義しましょう。(1/b)と考えます。論理演算を行っても乗除算は再現できません。新たな演算を導入し乗除算を考えていきましょう。シフト演算10進数の値を10倍、100倍してみるとどうなるでしょう。123123は10倍すると1230100倍すると12300となります。これを8桁の固定長のデータとして考えてみましょう。000001230000123000012300こうするとわかりやすいですね。10^n倍するごとにn桁左にデータがずれていきます。最大桁数から繰り上がった桁は消え、ずれて足りなくなった桁には0が補われます。逆に0.1倍、0.01倍するごとに右にずれていきます。456000000456000000456000これは2進数にもあてはまります。2進数00000101は10進数で5となります。00000101これを左に一つずらしてみましょう。00001010これは10進数の10となります。一つずらすと00010100これは10進数の20です。このようにr進数にr^n倍するとn桁左にずれていきます。同様にr^nで割るとn桁右にずれていきます。このように左右にビットをずらす演算と言い、左にずらすことを左ビットシフト、右にずらすことを右ビットシフトと言います。左に1桁ずらすことを「1ビット左シフトする」と言います。この応用で何倍でも計算することができます。7倍を考えてみましょう。式で考えると以下のようになります。7ですが2進数のシフト演算では2、4,8...倍しか作ることができません。4)これはこう書き表すことができます。それぞれ0、1、2ビットシフトしたものを足すと7倍になります。割り算も同様に考えることができます。このようにして乗除算を演算することができます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。AFFINGER5.。