概要 EditToHeaderToFooter

10101001÷1101を例に、二進数で除算する方法を示す。

二進数減算を使う手法 EditToHeaderToFooter




$$ \;\;\;\;\;\;\;\;\;\;1101 $$

“鐔数10101001の上位から除数1101より大きい10101の下位に商1を立てる。
と鐔数10000≧除数1101のため、商1を立てる。
被除数110<除数1101のため、商0を立てる。
被除数1101≧除数1101のため、商1を立てる。

$$ 1101 $$

$$ \overline{)\;10101001\;} $$

$$ \;\;\;\;1101 $$

被除数の上位10101から除数1101を引く。

$$ \;\;\overline{\;\;10000\;\;} $$

差1000に被除数から1桁降ろして、新しい被除数10000を作る。

$$ \;\;\;\;\;\;1101 $$

ト鐔数10000から除数1101を引く。

$$ \;\;\;\;\overline{\;\;\;\;\;\;1101\;\;} $$
 

差11に被除数から1桁降ろして、新しい被除数110を作る。
被乗数から更に1桁降ろして、新しい被乗数1101を作る。

$$ \;\;\;\;\;\;\;\;\;\;1101 $$

被除数1101から除数1101を引く。

$$ \;\;\;\;\;\;\;\;\overline{\;\;\;\;\;\;\;0\;\;} $$

差が0なため、割り切れ終了。

よって、$$ 10101101 $$÷$$ 1101 $$$$ 1101 $$

二進数加算を使う手法 EditToHeaderToFooter

予め除数1101のビット反転(1の補数)0010を求め、1足して2の補数0011を求めて置く。




$$ \;\;\;\;\;\;\;\;\;\;1101 $$

“鐔数10101001の上位から除数1101より大きい10101の下位に商1を立てる。
と鐔数10000≧除数1101のため、商1を立てる。
被除数110<除数1101のため、商0を立てる。
被除数1101≧除数1101のため、商1を立てる。

$$ 1101 $$

$$ \overline{)\;10101001\;} $$

$$ \overline{0010} $$

$$ \;\;\;\;0011 $$

被除数の上位10101に除数の補数0011を足す*1

$$ \overline{0011} $$

$$ \;\;\overline{\;\;10000\;\;} $$

差1000に被除数から1桁降ろして、新しい被除数10000を作る。

$$ \;\;\;\;\;\;0011 $$

ト鐔数10000に除数の補数0011を足す。

$$ \;\;\;\;\overline{\;\;\;\;\;\;1101\;\;} $$
 

差11に被除数から1桁降ろして、新しい被除数110を作る。
被乗数から更に1桁降ろして、新しい被乗数1101を作る。

$$ \;\;\;\;\;\;\;\;\;\;0011 $$

被除数1101に除数の補数11を足す。

$$ \;\;\;\;\;\;\;\;\overline{\;\;0000\;\;} $$

差が0なため、割り切れ終了。

*1 4桁二進数として足すため、5桁目に溢れる1は無視する。他同様。
リロード   新規 編集 凍結 差分 添付 複製 改名   数学 一覧 検索 最新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2017.0706 (木) 0615.4100 (44d)