二項演算

この記事はシリーズの一部であり、シリーズインデックスにアクセスします。 ( シリーズインデックス )

オールバイナリについて

バイナリでカウントする方法、バイナリを8進数から8進数または16進数に変換する方法、基本的なブール代数と論理ゲート、バイナリでグレイコードを使用したシーケンシャルエンコーディングについて…私は今考えられているバイナリに関する1つのことが残っています。 少なくとも私が説明できることは確かです。 私のスキルを超えて説明できるバイナリを含む他のものがありますが、この記事の最後にWikipediaへのリンクとして含まれています。

バイナリでの数学

さて、コンピュータはバイナリ情報を入力と出力として処理します。 彼らの処理には何がありますか? その多くは、多くの異なる回路に電荷を送ることを伴いますが、その多くは基本的な2進数学も含みます。 加算、減算、乗算、および除算。 これらはバイナリで実行できますか? ああ、はい、できます。

分数

はい、分数を行うこともできます! しかし、小数点を過ぎてバイナリを実際に実行しているため、少し異なります。 小数点以下の2進数は負の数で進んでいきます。 意味:2 ^ -1,2 ^ -2,2 ^ -3,2 ^ -4,2 ^ -5など

これは、2 ^ -1 = 1/2がわかるまではそれほど意味をなさない。 1/4 = 2 ^ -2 = .01(2進数)。 しかし、1/5は不可能です。 あなたが得ることができる最も近いものは.0011 …永遠に繰り返す、0.001100110011 …です。 これは10進数で0.2を得ることができたとしても当てはまります。

これは、2進数系の本来の性質であり、基数2であるためです。分数の2分数が2のべき乗である場合には、分数2進数を決して終了できないようにすることしかできません。 他のすべての分数は無限で、通常は近似です。

添加

追加は実際にバイナリで行うのが最も簡単な操作と見なされます。 あなたが知っておくべき最初のことは、「運ぶ」ことです。 あなたは10進数で2つの数字を一緒に加えるときはいつも持ち歩いています。 一緒に追加された2つの数字がベースの値を超えるたびに、あなたは「数字」を持ちます。 5 + 5 = 10のように、私たちは本当に考えていませんが、5 + 5はそれが保持できるものの最大値よりも大きくなっています。 1位にゼロがあり、次の実際の値である10の位に1を入れます。

8 + 8 = 16の場合と同じことです.8と8が一緒に保持できる最大値(9)よりも大きいので、1を10の位に(10)、次に6をもう1つを作成して作成します 新しい価値16.あなたは本当に数えないと思うのですか?

バイナリで同じこと。 変更されたAND論理ゲート、または論理和演算のように考えてください。 0 + 0 = 0,0 + 1 = 1,1 + 0 = 1、および1 + 1 = 10通常1 + 1は1を生成するが、ビットを加算して運ぶので、運ばれたビットは 2の場所。 つまり、本質的には0,1,10(2)です。

私は概念をさらに説明するのに役立つコード/図を持っています:

減算

減算は非常に似ています。 減算では、1つを運ぶ代わりに数字を借りることになります。 借りることは運搬方法を逆転したもので、次の場所の値から「1」を借りることになります。

0 – 0 = 0、0 – 1 = 1借り1、1 – 0 = 1、1 – 1 = 0あなたが次の場所の価値から借りるとき、あなたは基本的に その中から1を引いて(次の値)、これはそれ自体の減算演算である。

この概念をさらに説明するのに役立つコード/図がもう1つあります。

乗算

0 * 0 = 0、0 * 1 = 0、1 * 0 = 0、1 * 1 = 1のような乗算のマッピングがありますが、これはかなり明白ですが、コンピューティング時にはそのまま維持しています。 それを出す。 それを書くことは、拡張された追加に非常に似ています。 一番下の被乗数では、一番上の被乗数を繰り返す行があります。 すべての0に対して、ゼロの行があります。 したがって、これは、異なる位置にあるトップ被乗数を持つ一連の加算です。 うまくいけばあまり混乱しないように思えますが、このコンセプトの説明に役立つコード/図がある場合に備えて、

分割

部門はおそらく、少なくとも私にとっては最も難しいものですが、達成可能です。 部門はもちろん、通常部門のミラーです。 操作は長さ実行され、減算を含むため、除算への特定のマッピングはありません。 あなたはすでに減算に精通しているはずなので、私は操作そのものに慣れます。 最初に、配当を「配分」するという約束があります。 そのためには、被除数が除数のビット数に等しいときに非常に多くのビットを取り、除数をこれらのビットの組から引くことができるなら、商に1を入れます。 完全な商と底に余りがあるまで、このプロセスを繰り返します。 繰り返しますが、私の物語を説明するのに役立つコード/図があります:

結論

あなたが見ることができるようにバイナリ算術計算は簡単です。 私は、あなたが覚えておいて欲しいのは、1と0だけです。掛け算テーブルを覚えていることを覚えています。 私が大人になるまでは、私は7歳では決して良くはありませんでした。 しかし、子供の頃、私は今それをすべて知っていなければならないと思った…私は自分自身を大人として想像することができませんでした。 興味深いバイナリに関するいくつかのリンクがあります:

私はあなたがこのチュートリアルで何か新しいことを学んだことを願っています!

あなたが私の執筆を感謝するなら、私のパトロンを通して私を支えてください。( パトロン )

photo credit: 1364 via photopin (license)

あわせて読みたい

コメントを残す

%d人のブロガーが「いいね」をつけました。