役に立つヒント

バイナリシステムに数値を追加する方法

Pin
Send
Share
Send
Send


このオンライン計算機は、減算を追加し、オンラインで2進数を除算および乗算するように設計されています。

いいね リンクを共有します
  • 電卓
  • 取扱説明書
  • 理論
  • 物語
  • 問題を報告する

この計算機の使用方法: 計算機には、2進数を入力するための2つの入力フィールドがあります。最初のフィールドは最初の番号用で、2番目のフィールドは2番目のものです。

これらの2つのフィールドの間で、それらに対して実行する数学アクションを選択する必要があります。小数の2進数を乗算または除算するだけでなく、加算および減算することができます。

ピリオドまたはコンマを使用して、小数の2進数を入力できます。数値を入力し、それらの数値演算を選択した後、計算ボタンをクリックします。また、ページの上部には、計算の結果に関する情報が表示されます。

取扱説明書

1. バイナリで数値を追加する場合 システム 覚えておくべき主なことは、それぞれ2つの文字(0と1)があることです。他の文字を含めることはできません。したがって、1 + 1の2単位を追加しても、10進数のように2ではありません システム 、および10(10は2進数で単位に続く数であるため) システム 。最も単純なバイナリ加算ルールを覚えておく必要があります システム :0 + 0 = 0、1 + 0 = 0 + 1 = 1、1 + 1 =10。これらのルールは、追加するために必要です。 数字 バイナリで システム 列に。ご覧のとおり、1から1を追加する場合、ユニットは次のカテゴリに移動しますが、2進数に0を追加してもこの番号は変わりません。

2. 巨大なバイナリ 数字 快適に列に積み重ねられます。バイナリルール システム 10進数での加算の加算規則と同様 システム 折りましょう 数字 1111および101。数字1111-1の放電の桁の下に、より少ないビット数101で数字を書き込みます。 数字 別の同じカテゴリの数字の上に配置する必要があります 数字 。これらを追加できるようになりました 数字 。最初の桁では、1 + 1は10を与えます-最初の桁の単位の下に0を書き込みます。 10の単位は、2番目のカテゴリの数字の合計になります。 2番目のカテゴリでは、1 + 0。後で、1桁目から1を追加しても10になります。ユニットは3桁目近くに移動し、合計の2桁目でもゼロになります。 3番目のカテゴリでは、1 + 1 + 1(単位はここに行きました!)11を与えます。3番目のカテゴリでは、合計は1になり、別の単位は 数字 11は4番目のカテゴリに入ります。 4桁目の数字は1111です。1+ 1 = 10です。したがって、1111 + 101 = 10100です。

3. 考慮された例は、列1111 + 101-10100に記述できます。

スライドキャプション:

レッスントピック:「位置番号システムでの算術演算」コンピューターサイエンスの教師Fedorchenko Marina ValentinovnaMOUベレゾフカタイシェット地区のあるベレゾフスカヤ中等学校イルクーツク地域数字はエラー付きで書かれており、答えは1238、30062、12AAC0920、1347610であると主張しています。数字を書き込むことができる場合、ナンバーシステムに必要な最小ベースは何ですか:10、21、201、1201偶数の2進数は終了しますか?奇数の2進数の末尾は何桁ですか?
ラプラスは、偉大な数学者ライプニッツの2進(2進)数体系に対する態度について次のように述べています。ユニットは神の原則を表し、ゼロは存在しないことを表し、高い存在はユニットとまったく同じように存在しないものからすべてを作成し、彼のシステムのゼロはすべての数を表現するように思われました。これらの単語は、2文字のアルファベットの汎用性を強調しています。すべての位置番号システムは「同じ」です。つまり、すべての算術演算は同じルールに従って実行されます。
同じ算術の法則が有効です。-可換(翻訳)m + n = n + mm・n = n・m連想(組み合わせ)(m + n)+ k = m +(n + k)= m + n + k(m・n)・k = m・(n・k)= m・n・k分布(分布)(m + n)・k = m・k + n・k
列による加算、減算、乗算の規則が有効である、
算術演算を実行するためのルールは、加算と乗算のテーブルに基づいています。
位置番号システムの追加すべての位置システムの中で、2進数システムは特に単純です。 2進数の基本的な算術演算の実装を検討してください。すべての位置番号システムは「同じ」です。つまり、算術演算はすべて同じルールに従って実行されます。同じものは同じです。交換、連想、分配、列による加算、減算、乗算のルールは有効で、算術演算を実行するルールはベースです加算と乗算のテーブルに。
任意の位置システムのように、2桁の数字を2桁の数字で加算す​​る場合、次の桁に進むことができるのは1つだけです。 2つの正の数を加算した結果は、2つの項の最大数と同じ桁数か、もう1桁ありますが、この数字は1つだけです。例を検討してください例を自分で解いてください:
1011012 + 111112
1110112 + 110112
1001100
1010110
減算演算を実行する場合、小さい方の値が大きい方の絶対値から常に減算され、対応する符号が結果に付けられます。
減算例の検討例:
1011012– 111112
1100112– 101012
1110
11110
位置番号システムでの乗算乗算の操作は、通常のスキーム(10進数システムで使用)に従って乗算テーブルを使用して実行され、係数の次の桁による乗算器の順次乗算が行われます。例を検討します分割の例を検討します
例を解きましょう:
11012 1112

111102:1102=
1011011
101
宿題1.&3.1.22。2進数システムで算術演算を実行するためのルールを学習し、加算、減算、乗算のテーブルを学習します。手順に従ってください:110010 + 111.0111110000111-11011000110101,101 * 111 Reflection今日のレッスンで、私にとって最も有益だったのは...驚きました...今日得た知識をレッスンで適用できます...

2進数システムは通常の10進数に似ていますが、10の代わりに基数2と2桁の1と0のみを使用する点が異なります。2進数システムはコンピューターの動作の基礎となります。バイナリコードでは、特定のプロセスを有効または無効にするために1と0が使用されます。 10進数と同様に、2進数も追加できます。複雑なことはありませんが、最初に追加するのは大変な作業のように思えるかもしれません。 2進数の追加を進める前に、数字の概念を適切に理解する必要があります。

2行4列で構成されるビットテーブルを描画します。 バイナリシステムでは、基数2が使用されるため、10進数システム(10を含む)の単位、10、100、1000の代わりに、バイナリシステムのビット値は単位、デュース、4、8になります。ユニットはテーブルの右端の列に、8つは左端の列に配置されます。

表の最下行に2進数を書きます。 バイナリシステムでは、数字の記述に使用されるのは1 < displaystyle 1>および0 < displaystyle 0>のみです。

  • たとえば、8のカテゴリに1、4のカテゴリに1、doubleのカテゴリに0、ユニットのカテゴリに1を書き込むと、結果として次の2進数が得られます:1101。

ユニットのカテゴリーを考慮してください。 この場所が0の場合、ビット値は0です。1の場合、値は1です。

  • たとえば、単位カテゴリの2進数1101では1であるため、ビット値は1です。したがって、2進数1は10進数1と同等です。

2のカテゴリを考えます。 このカテゴリに0がある場合、数字の値は0です。2のカテゴリで1の場合、数字の値は2です。

  • たとえば、doubleのカテゴリの2進数1101では0であるため、ビット値は0です。したがって、doubleのカテゴリでは0であり、units 1:0 + 1 = 1のカテゴリであるため、2進数01は10進数1と同等です。

foursのカテゴリを検討してください。 このカテゴリに0がある場合、数字の値は0です。foursカテゴリにある場合、数字の値は4です。

  • たとえば、2進数1101では、4の数は1であるため、ビット値は4です。したがって、2進数101は4のカテゴリに1、2のカテゴリに0、1のカテゴリに1があるため、10進数の5と同等です。 1 = 5。

8の放電を検討してください。 この数字が0の場合、数字の値は0です。ただし、8の桁で1の場合、数字の値は8です。

  • たとえば、2進数の1101では、8の桁は1であるため、桁の値は8です。したがって、2進数の1101は10進数の13と同等です。 :8 + 4 + 0 + 1 = 13。

ビット値を使用した2進数の追加

列に数字を書き、対応する数字を追加します。 2つの数値が加算されるため、個々の数字の合計は0、1、または2になります。合計が0の場合、対応する列0を書き留めます。合計が1の場合、1を書きます。合計が2の場合、0を書き下げて1を次へ移動します2の列。

  • たとえば、列に2進数0111と1110を追加する場合、単位1と0は合計1になるため、この列の下部に1を書き込みます。

doubles列の数値を合計します。 追加すると、0、1、2、または3になります(単位列から1を転送した場合)。合計が0の場合、ダッシュの下のdoubleの下に0を書き込みます。合計が1の場合、列1の一番下に書き留めます。合計が2の場合、バー0の下に書き、4の列に1を転送します。合計が3の場合、1を書き留め、4の列に1を転送します(3デュース= 6 = 1デュースと1フォー)。

  • たとえば、2進数0111と1110を追加する場合、2列の2つのユニットは2(2つの2、つまり1つの4)を与えるため、バー0の下に書き込み、1を4に転送します。

fours列に数値を追加します。 追加すると、0、1、2、または3になることがあります(2の列から1を転送した場合)。合計が0の場合、4のカテゴリの行0の下に書き込みます。合計が1の場合、列1の下部に書き留めます。合計が2の場合、バー0の下に書き込み、8の列に1を移動します。合計が3の場合、1を書き留め、8の列に1を転送します(3つの4 = 12 = 1 4と1 8)。

  • たとえば、2進数0111および1110を追加する場合、3つのユニットを追加する必要があります(列から転送された倍精度を考慮して)。その結果、3つの4、つまり12があるので、4の列に1を書き留め、8の列に1を転送します。

最終結果が得られるまで、数字の各列の数字の加算を続けます。 便宜上、0 = 0、1 = 1、2 = 10、3 = 11であることを覚えておいてください。

  • たとえば、8の列に2進数0111と1110を追加する場合、2つのユニットを追加する必要があります(列から転送される4倍を考慮に入れて)。その結果、2を取得し、8の列に0を書き込み、1を16のランクに転送します。 16の列には数字がないため、1行目に記述します。したがって、0111 + 1110 = 10101です。

2進数の単位転送

列に数字を書きます。 単位のカテゴリ内の単位の円のペア(1桁)。ユニットの放電は右端にあることに注意してください。

  • たとえば、1010 + 1111 + 1011 + 1110を追加する場合、1桁の数字1を丸で囲む必要があります。

ユニットのカテゴリーを考慮してください。 数字1の各ペアについて、2のカテゴリに対応する隣接する左の列に1を転送します。ユニットのカテゴリの列に1桁の数字がある場合、またはペアの転送後に余分なユニットが1つ残っている場合は、1行目に書き込みます。

  • たとえば、数字1のペアを丸で囲んだので、1を2の列に転送し、ユニットのカテゴリの行の下に0を書き込む必要があります。

2進数の除算

乗算が複数のシフトと加算によって実行される場合、逆乗算の演算である除算は複数のシフトと減算によって実行されます。

(全体のない正しい面。)

固定小数点数を表すとき、被除数が除数よりもモジュロ小さい場合、除算が可能です。そうでない場合、ビットグリッドのオーバーフローが発生します。 .

「手動」除算の場合と同様に、マシンで数値を除算するときの商の桁は、前回の減算から得られた剰余から除数を連続して減算することによって決定されます(最高から開始)。ただし、ここでは、減算操作は、逆コードまたは追加コードで表される負の除数で剰余を加算する操作に置き換えられます。商の符号は、被除数と除数の符号のモジュロ2コードを追加することにより決定されます。

まず、「手動」方式での分割の例を考えてみましょう。

ここでは、各減算の後、除数は被除数に対して右にシフトします。減算後の剰余が正であることが判明した場合、商のカテゴリに1が書き込まれ、負の場合はゼロが書き込まれます。実際には、通常、負の剰余は記録されず、除算器だけがさらに1桁右にシフトされ、正の剰余から減算されます。

機械では、仕切りを右にシフトする代わりに、残りは左にシフトしますが、実際には何も変わりません。

剰余の復元で除算する場合、負の剰余は正の除数で加算して復元されます。回収された残渣は左に1桁シフトされます。除数は、シフトされた剰余から再び減算されます。受け取った残高の符号は、プライベートの次のカテゴリの番号を決定します。除算プロセスは、指定された桁数が得られるまで続きます。これにより、結果に必要な精度が保証されます。

前の例が自動車によってどのように解決されるかを見てみましょう。

除算プロセスは、被除数を左に1桁シフトすることから始まり、その後、除算器が追加されます。これは、たとえば、追加の修正コードで表示されます。

明らかに、最悪の場合の剰余の復元で除算する場合、商の各カテゴリの形成のために、2つの操作を実行する必要があります:減算(加算または逆コードでの加算)および加算(剰余の復元)。つまり、除算操作の実行時間は、可能な限り最小の2倍になります。

除算操作の平均実行時間を短縮するために、剰余を復元せずに除算を実行します。アルゴリズムは次のとおりです。

1)被除数と除数の符号桁の2つの内容の商モジュロ加算により符号を決定します。

2)配当から除数を引きます。余りが負の場合、ステップ3に進みます。それ以外の場合、計算は完了します(オーバーフローが発生しました)。

3)剰余記号を覚えておいてください。

4)残りを1桁左に移動します。

5)節2に格納された剰余の符号と反対の符号を除数に割り当てます。

6)シフトされた剰余と除数を加算します(符号を考慮して)。

7)商に番号を割り当て、剰余符号コードと反対の値を割り当てます。

8)商の計算に必要な精度が確保されるまで、手順3〜7を繰り返します。

この場合の上記の例の解決策は、次のスキームに従って実行されます。

浮動小数点付き

FLOATING COMMANDを使用して数値の除算を実行する場合、商の仮数は除数の仮数を除数の仮数で除算した結果として定義され、商の順序は除数の順序コードから除数の順序コードを減算した結果として定義されます。

整数の非ゼロnビット(符号付き数字を含まない)数値の除算A:B(直接(簡単にするため)コードで表される)は、整数の商Cと整数の剰余0を生成し、被除数の符号が割り当てられます。オペランドAおよびB。

分割は次の順序で実行されます。

1)除数Bは左にシフト(正規化)されているため、最上位の情報カテゴリに1があり、シフト数Sが計算され、除算の商はゼロに等しくない(S + 1)ビット以下になります。

2)(S + 1)モジュール分割サイクルが実行されます| A | IB’lでは、Bは正規化されたBです。その結果、(S + 1)ジュニアの長男から始まる(S + 1)プライベートのランクがあります。

3)最後の除算サイクルで得られた剰余Rs + 1(正の場合)は、Rs + 1の場合、S桁だけ右にシフトされます。

Pin
Send
Share
Send
Send