元のコード、反転、補体加算器

学部早すぎる元のコード、アンチコードおよび補体が、あまりにも練習していませんでした。今日のブラシで2進加算を含む371件の質問が負の数が含まれ、これは必要性は、コンピュータに保存されているに負の補数を形成する理由を理解し始めました。

これに先立ち、コアコンセプトがあることを理解しなければならない合同を、ここで引用した例は次のとおりです。

我々は5:00に時針ポインティングを作る場合、あなたはそれを行う方法を必要とする、私たちは、均等に12時間以上の分散、壁の時計を持って、そして今の時間のクロックポイントは3:00ですか?

より簡単な練習の2種類を考えること:

  1. 時間のカウンタが10時間をダイヤル
  2. 時針は2時間をダイヤル右回り

このプロセスは、実際にはモジュロ演算相当する:
(3-10)12%5 =
(3 + 2)= 12%5

この場合には、-10 2であると言うことができる合同な部分を越えて余り「消去」を処理するのに必要とされているため、金型は、+3 -10、12の処理に対応する番号12である場合、即ちA。

2進加算器はこの考えに基づいています。前の例に対応し、メモリの基本単位としてのコンピュータ1バイト(8ビット)。
符号付き整数では、最上位ビットは符号ビット、8ビット7ビットのみデータを格納するために、そう1バイトシンボルは-127〜127の範囲の整数が表すことができる(すなわち、11111111から01111111)。(ただし、一般的に、前記1バイトによって示さ我々はすべて知っているが、ここで与えられ、127 -128の範囲の整数を符号付きの記事を参照し、コンテンツが向けられていないので、本明細書に記載されていないので、。)このように、金型12は、時計に対応し、ここで金型(7 0にフルバック128ビット後)128です。きっと誰かがそう、ここで、唯一の7店舗の値に使用するので1は、ハイになった地点、聞いてきますというイベント生成オーバーフローを、オーバーフロー1は放棄されます。14時間として時計時計回りには、実際には、かつてそこにこぼしたが、我々は唯一の時間は非常に午前5時00分以降3時14時間から回し、文字盤の上に表示することができます焦点を当てたとき。実施形態対応のコンピュータメモリのオーバーフローは、プライマー「消去」プロセスを語りました。

上記の類推に基づいて、我々はルールを描くことができます。

上型12は、時計、3 + 2と同等であるように3~10

等価に

金型128、ポジティブモードとAプラスB及びCの数に対応するAプラスB負の数で8ビットのメモリセル

負の補数は、元のコードの負である剰余された状態で元のコードに対応するが、我々は、「符号ビット」の性質は実際に識別記号はないので、「符号ビット」は、この数を無視する必要があり、最終的なオーバーフローのためにサービス。

例えば、元のコードは-3 1 000 0011我々は、すべてそれが反転される知っている1つの 111 1100補数である1つの記号を無視して、正の数として見た元のコード111 1101補体、これにオーバーフローに追加され、実際には、この数は125であるが、上で見たように、その最上位ビットは、1に設定されています。

例えば、= 17 20-3は、実際には、20 + 128 = 125%とみなすことができ、補体-3との加算を計算された17(ない限り目のライン上の符号ビット):

+ 1111 1101 0001 0100
0001 =(1)0001

図1に示すように、得られた結果は00010001オーバーフロー破棄されます。特に、コンピュータの値を2の補数に格納され、2進加算を補数演算であり、結果は、2の補数演算です。しかし、私たち自身として、善悪を判断するためには、結果を確認するには、元のコードに変換する必要があります。ここでの結果は正の数、元のコード=補数であるため、このようにして得られた結果は17です。(元のコードが必要にステップによって変換されたステップは、負の読みであるとした場合)

上記のプレゼンテーションを通じて、私は値をオーバーフローするなぜ、我々はまた、いくつか理解していなければならないプログラミングのための希望 - 長さの現在のメモリユニットによって収容することができない計算の結果である、あなたはもう少しでなければなりません以下のように、最上位ビットのキャリーを格納するためのメモリ手段。コードを書くときにこのように、必ず値は、それがオーバーフローしないことを保証するために、適切なタイプのニーズに合わせて定義されていることにします。

公開された75元の記事 ウォンの賞賛0 ビュー1514

おすすめ

転載: blog.csdn.net/qq_34087914/article/details/104095387