2進数の割り算の方法

2進数の割り算の方法

二進除算の問題は長除算を使用して解くことができます。これは、そのような問題の解き方を独学する場合や、簡単なコンピュータ プログラムを作成する場合に便利です。また、倍数減算補数法は二進除算問題を解くのにも使用できますが、あまり馴染みがなく、プログラミングでは長除算ほど頻繁に使用されません。 [1] 機械言語では効率を上げるために推定アルゴリズムがよく使われますが、これはこの記事の範囲外です。 [2]

方法1方法1/2:

長除法を使う

  1. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/2\/2b\/Divide-Binary-Numbers-Step-1-Version-3.jpg\/v4-460px-Divide-Binary-Numbers-Step-1-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/2\/2b\/Divide-Binary-Numbers-Step-1-Version-3.jpg\/v4-728px-Divide-Binary-Numbers-Step-1-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 1小数の長除算を復習します 10進法は10を基数とする記数法であり、私たちが日常生活で使用する数字はすべて10進数です。しばらく長割り算をしていない場合は、172 ÷ 4 の問題で復習すると役立つかもしれません。このセクションに精通している場合は、次のステップに進んで、2 進数の長除算を学習してください。
    • 被除数除数で割り、その結果が商になります。
    • 除数と被除数の先頭の桁を比較します。除数が除数より大きい場合は、被除数が除数より大きくなるまで、次の桁を被除数に加え続けます。たとえば、172 ÷ 4 を使用する場合、4 と 1 を比較し、4 > 1 であることがわかったら、4 と 17 を比較します。
    • 比較する割られる数の最後の桁に商の最初の桁を書きます。 4 と 17 を比較すると、17 は 4 で割り切れることがわかります。そのため、商の最初の数字である 4 を 7 の上に書きます。
    • 乗算と減算を行った後に余りが得られます。商の位の値に除数を掛けます。この場合は 4 x 4 = 16 です。 17 の下に 16 と書き、16 から 17 を引くと余りは 1 になります。
    • 繰り返す。再び、除数 4 と余り 1 を比較し、4 > 1 であることを確認します。被除数の次の桁と「組み合わせて」、4 と 12 を比較します。12 は 4 の 3 倍であり、余りがないため、商の次の桁として 3 が書き込まれます。答えは43です。
  2. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/9\/96\/Divide-Binary-Numbers-Step-2-Version-3.jpg\/v4-460px-Divide-Binary-Numbers-Step-2-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/9\/96\/Divide-Binary-Numbers-Step-2-Version-3.jpg\/v4-728px-Divide-Binary-Numbers-Step-2-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 2 二進法の長除算問題をリストします。 10101÷11を例に挙げます。問題を長除法の形式で書き、被除数を 10101、除数を 11 とします。上に商を書くスペースを残し、下に計算を書くスペースを残します。
  3. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/4\/4c\/Divide-Binary-Numbers-Step-3-Version-3.jpg\/v4-460px-Divide-Binary-Numbers-Step-3-Version-3.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/4\/4c\/Divide-Binary-Numbers-Step-3-Version-3.jpg\/v4-728px-Divide-Binary-Numbers-Step-3-Version-3.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 3除数と被除数の最初の桁を比較します。 2 進数の長除算は 10 進数の長除算と同じ方法で解きますが、実際にははるかに簡単です。被除数を割るとき、各桁は 0 または 1 になります。
    • 11 > 1 なので、1 は 11 を割り切れません。商の最初の桁、被除数の最初の桁の上に 0 を書きます。
  4. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/6\/6c\/Divide-Binary-Numbers-Step-4-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-4-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/6\/6c\/Divide-Binary-Numbers-Step-4-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-4-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 4結果が 1 になるまで次の数字を追加し続けます。この例の計算手順は次のとおりです。
    • 被除数の次の桁を結合します。 11 > 10.商の位置にもう一つの 0 を書きます。
    • 次の数字と結合します。 11 < 101。商の場所にもう一つ 1 を書きます。
  5. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/a\/a9\/Divide-Binary-Numbers-Step-5-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-5-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/a\/a9\/Divide-Binary-Numbers-Step-5-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-5-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 5余りを計算します。小数の長除算と同様に、除数 11 に先ほど計算した 1 を掛け、その結果を先ほど割った数字に合わせて、被除数の下に書き込みます。 2 進数では、1 と除数を掛けると常に除数と同じになるため、これを簡略化できます。
    • 被除数の下に除数を書きます。ここでは、11 を被除数の最初の 3 桁である 101 に合わせて、その下に記述します。
    • 101 - 11 を計算すると、余りは 10 になります。 2 進減算について復習する必要がある場合は、このサイトの関連記事を参照してください。
  6. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/7\/73\/Divide-Binary-Numbers-Step-6-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-6-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/7\/73\/Divide-Binary-Numbers-Step-6-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-6-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 6問題が解決するまでこの手順を繰り返します。被除数の次の桁と余りを合わせて 100 になります。 11 < 100 なので、商の次の桁に 1 を記入します。前の方法を使用して、計算を続けます。
    • 100 の下に 11 と書いて、それを引いて 1 にします。
    • 被除数の最後の桁と組み合わせると、11 になります。
    • 11 = 11 なので、商または答えの最後の桁として 1 を記入します。
    • 余りがないので問題は解決しました。答えは00111 、または単に 111 です。
  7. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/d\/dc\/Divide-Binary-Numbers-Step-7-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-7-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/d\/dc\/Divide-Binary-Numbers-Step-7-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-7-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 7必要に応じて小数点を追加します。結果が整数にならない場合もあります。最後の桁を使用した後も余りがある場合は、被除数の末尾に「.0」を追加し、商に「.」を追加します。これにより、次の桁と組み合わせて計算を続行できます。答えが十分に正確になるまでこの手順を繰り返し、答えを切り上げます。紙の上で計算する場合、最後の桁のゼロを削除して切り上げることができます。最後の桁が 1 の場合は、1 を削除して、新しい最後の桁に 1 を加算します。プログラミングでは、2 進数と 10 進数を変換するときにエラーを回避するために、丸めの標準アルゴリズムに従います。 [3]
    • 2 進除算の結果には、10 進数システムよりも頻繁に循環小数が含まれます。 [4]
    • 「小数点」という用語は 10 進法でのみ使用されるため、他の数値システムではより一般的な用語である「基数点」を使用します。 [5]
    広告する
方法2方法2/2:

補数法を使う

  1. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/e\/ec\/Divide-Binary-Numbers-Step-8-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-8-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/e\/ec\/Divide-Binary-Numbers-Step-8-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-8-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 1基本的な概念を理解します。どのような数体系でも、被除数から除数を減算し、次に剰余から除数を減算し、負の数になるまで何回減算したかを数えることで、解の問題を解決できます。小数の割り算の問題 26 ÷ 7 を例に挙げてみましょう。
    • 26 - 7 = 19 (マイナス1 )
    • 19 - 7 = 12 ( 2 )
    • 12 - 7 = 5 ( 3 )
    • 5 - 7 = -2。負の数値が返されたので、前の手順に戻ります。答えは3で、余りは 5 です。この方法では、答えの非整数部分を計算できないことに注意してください。
  2. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/f\/fb\/Divide-Binary-Numbers-Step-9-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-9-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/f\/fb\/Divide-Binary-Numbers-Step-9-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-9-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 2減算に補数法を使用する方法を学びます。上記の方法は 2 進数では簡単に使用できますが、減算を行う場合は、2 進数の除算を計算するようにコンピューターをプログラミングする時間を節約できる、より効率的な方法を使用できます。この方法は、2進数の補数減算と呼ばれます。 111 - 011 を計算する簡単な例を見てみましょう。計算する前に、2 つの数字の長さが同じであることを確認してください。
    • 2 番目の項の各桁から 1 を減算して、1 の補数を計算します。 2 進数では、1 を 0 に、0 を 1 に変換できるため、この手順を完了するのに非常に便利です。 [6] [7] この例では、011 は 100 になります。
    • 結果に 1 を加えます: 100 + 1 = 101。これは 2 の補数と呼ばれ、加算と同じように減算の問題を解くことができます。 [8] 本質的に、このメソッドは正の数を減算するのではなく、負の数を加算します。
    • 結果を最初の項に追加します。問題の解を書きなさい: 111 + 101 = 1100。
    • 繰り上がり桁を削除します。最終結果を得るには、答えの最初の数字を削除します。 1100 → 100 .
  3. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/7\/70\/Divide-Binary-Numbers-Step-10-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-10-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/7\/70\/Divide-Binary-Numbers-Step-10-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-10-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 3上記の 2 つの概念を組み合わせます。これで、割り算の問題を解くための減算法と、減算の問題を解くための 2 の補数法がわかりました。次の手順を使用すると、それらを 1 つの方法に組み合わせて問題を解決できます。 [9] よろしければ、閲覧を続ける前に自分で考えてみてください。
  4. {"smallUrl":"https:\/\/www.wikihow.com\/images\/thumb\/d\/d4\/Divide-Binary-Numbers-Step-11-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-11-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/d\/d4\/Divide-Binary-Numbers-Step-11-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-11-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 4 2 の補数を加算し、被除数から除数を減算して 2 の補数を完成します。 100011÷000101を例に挙げます。最初のステップは、100011 - 000101 を計算することです。2 の補数法を使用して、これを加算問題に変換できます。
    • 000101 の 2 の補数 = 111010 + 1 = 111011
    • 100011 + 111011 = 1011110
    • 繰り上がり桁を削除 → 011110
  5. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/2\/29\/Divide-Binary-Numbers-Step-12-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-12-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/2\/29\/Divide-Binary-Numbers-Step-12-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-12-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 5 は商に 1 を加えた値です。コンピュータ プログラムでは、商に 1 を加えることによってこれが実行されます。紙の上で計算をするときは、他の計算と混同しないように隅に印を付けます。 1 回の減算に成功したので、これまでの商は1です。
  6. {"smallUrl":"https:\/\/www.wikihow.com\/images_en\/thumb\/c\/c6\/Divide-Binary-Numbers-Step-13-Version-2.jpg\/v4-460px-Divide-Binary-Numbers-Step-13-Version-2.jpg","bigUrl":"https:\/\/www.wikihow.com\/images\/thumb\/c\/c6\/Divide-Binary-Numbers-Step-13-Version-2.jpg\/v4-728px-Divide-Binary-Numbers-Step-13-Version-2.jpg","smallWidth":460,"smallHeight":345,"bigWidth":728,"bigHeight":546,"licensing":" class=\"mw-parser-output\"><\/div>"} 6 剰余から除数を引き続けます。最後の計算の結果は、除数を 1 回「減算」した後に残る余りです。毎回除数の 2 の補数を加算し、繰り上がりを破棄し続けます。引き算するたびに、余りが除数以下になるまで商に 1 を加えます。 [10]
    • 011110 + 111011 = 1011001 → 011001 (商1+1=10 )
    • 011001 + 111011 = 1010100 → 010100 (商10+1=11 )
    • 010100 + 111011 = 1001111 → 001111 ( 11+1=100 )
    • 001111 + 111011 = 1001010 → 001010 ( 100+1=101 )
    • 001010 + 111011 = 10000101 → 0000101 ( 101+1=110 )
    • 0000101 + 111011 = 1000000 → 000000 ( 110+1=111 )
    • 0 は 101 より小さいので、ここで停止します。この割り算の問題の答えは商111です。余りは引き算の最終結果です。この問題では 0 となり、余りがないことを意味します。
    広告する

ヒント

  • 答えが正か負かを判断する場合を除き、計算前の 2 進数の前の符号ビットは無視できます。
  • 数字の桁数が同じでない場合は、2 の補数による減算方法は使用できません。小さい方の数字の前に 0 を追加するだけです。
  • マシン命令セットにバイナリ演算を適用する前に、スタックを増分、減分、またはポップする命令を考慮する必要があります。
広告する

<<:  パイプの吸い方

>>:  ハーブを摂取するとペニスを大きくできますか?事実と嘘

推薦する

騎士になる方法

騎士といえば、王を守るために馬に乗って勇敢に戦う戦士というイメージが最も一般的です。騎士の起源は、は...

高品質のYouTube動画をダウンロードする方法

YouTube で動画を観るのはとても面白いことですが、動画を保存して後で観たり、携帯電話に移動した...

LinuxでISOファイルを作成する方法

このwikiHowでは、Linuxコンピューター上のファイルグループからISOファイルを作成する方法...

...

アボカドオイルの抽出方法

アボカドオイルは熟したアボカドから生産できます。アボカドオイルは、料理、揚げ物、肌や髪のケアなど、さ...

トコジラミの刺咬を素早く止める方法

世界中でますます多くの場所でトコジラミが蔓延しています。あなたの家が清潔で整頓されているか、あるいは...

日焼けベッドの使い方

自分を馬鹿にしないでください。日焼けベッドを使用すると皮膚がんのリスクが高まる可能性があるため、紫外...

記事のアウトラインの書き方

記事の要約は、メモや直接の引用よりも、読者に使用した資料をより徹底的かつ完全に理解してもらいます。次...

サルサの踊り方

サルサダンスはキューバ発祥のダンスです。基本的なダンスステップは活発でセクシー、初心者でも簡単に習得...

関係を維持する方法

関係が崖っぷちに達していると感じ、まだ別れたくないのであれば、振り返って何らかの対策を講じるべき時で...

Skypeのダウンロード方法

Skype は、友人と連絡を取ったり、リモートで作業したりするために使用できる強力なチャット ツール...

誰かを無視する方法

特に、会いたくない人に何度も会ったり、相手が無神経でいつも話しかけてきたりする場合は、大騒ぎせずに相...

Netflix で最近視聴した履歴を削除する方法

何年も待った末、ついに Nteflix アカウントの「最近視聴した履歴」から映画やテレビ番組を削除で...

説得力のある手紙の書き方

銀行、保険会社、政府機関、雇用主、学校とのやり取りで問題が生じ、助けを求める必要がある場合、目的を達...

乾燥した髪と頭皮のケア方法

髪の乾燥や頭皮のかゆみに悩んでいませんか?さまざまなヘアコンディショナーを試してみましたが、改善が見...