ホームページ  >  記事  >  コンピューターマシンの数を表す 3 つの方法は何ですか?

コンピューターマシンの数を表す 3 つの方法は何ですか?

藏色散人
藏色散人オリジナル
2020-12-07 11:22:1228921ブラウズ

コンピュータの機械番号の表現方法には、原コード、補コード、補コードの 3 つがあります。数値の真値形式における「 」記号を「0」、「-」記号を「1」で表すことを、その数値の元のコード形式と呼びます。元のコード演算の欠点を克服するために、機械番号の補数と補数表現が使用され、正の数の場合は補数コードが元のコードと同じ形式になり、負の数の場合は補数コードが数値部分になります。元のコードの逆です。補数コードは合同の概念に基づいて導入されており、コンピュータシステムでは値は常に補数コードで表され、格納されます。

コンピューターマシンの数を表す 3 つの方法は何ですか?

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

コンピュータの機械番号の表現方法には、元コード、逆コード、補コードの 3 つがあります。

機械番号の概要

機械番号は、シンボルを「デジタル化」する数値であり、コンピューター内の数値のバイナリ表現です。 。機械語には 2 つの特徴があります。1 つはシンボルのデジタル化であり、もう 1 つは数字のサイズが機械語の長さによって制限されることです。

機械番号には 2 つの基本的な特性があります:

1. 数値のシンボルのデジタル化。実用データには正の数と負の数が含まれますが、コンピュータ内のハードウェアは 2 つの物理状態 (0 と 1 で表す) しか表現できないため、マシン内では実用データの正符号「 」または負符号「 - 」が使用されます。ビット 2 進数 0 または 1 を区別します。通常、この記号は符号ビットと呼ばれる 2 進数の最上位ビットに配置され、0 は記号 " "、1 は記号 "-" を表します。符号は 1 ビットを占めるため、数値の形式的な値は実際の値と等しくなりませんが、符号ビットが付いたマシン番号に対応する値をマシン番号の真の値と呼びます。たとえば、2 進真理値 -011011 のマシン番号は 1011011 です。

2. 2 進数の桁数は機械設備によって制限されます。機械の内部機器が一度に表現できる 2 進数の桁数を機械の語長といい、機械の語長は固定されています。 8 ビットの語長はバイトと呼ばれ、マシンの語長は通常、8 ビット、16 ビット、32 ビット、64 ビットなどのバイトの整数倍になります。

マシン番号の形式

1. 元のコード

数値の真の値形式で「 」記号を表すには「0」を使用します、「-」 数字を「1」で表すとき、その数字の原符号形式、または略して原符号といいます。語長が n ビットの場合、元のコードは一般に次のように表すことができます。

X が正の数の場合、[X] は X と同じです。つまり、[X] = X です。 Xが負の場合。 X 自体は負の数であるため、実際には | の数値部分の絶対値の前の符号ビットが使用されます。

元のコード表現は比較的直感的で、数値部分は数値の絶対値であり、真の値と10進数の変換は非常に便利です。ただし、加算と減算の演算はより複雑です。 2 つの数値を加算する場合、マシンはまず 2 つの数値の符号が同じかどうかを判断する必要があります。同じであれば 2 つの数値を加算し、符号が異なる場合には 2 つの数値を減算します。引き算を行う前に、2 つの数値の絶対値を判断し、大きな数値から小数点を引き、最後にその差の符号を決定する必要があります。負の数は差の符号と同じであってはなりません。数値部分は一緒に演算に参加しますが、合計の符号ビットを決定するには別の行を使用する必要があります。これらの動作を実現するには回路が非常に複雑になり、明らかに経済的かつ実用的ではありません。設備を削減し、機械内の演算に関与する負の数の符号ビットの問題を解決するために、減算演算は常に加算演算に変更され、1 の補数と 1 の補数の 2 つの機械番号が導入されます。

2. 逆コード

前述したように、元のコード演算の欠点を克服するために、逆コードと機械番号の補数表現が使用されます。つまり、正の数の場合、補数コードは元のコードと同じ形式になりますが、負の数の場合、補数コードは元のコードの数値部分を反転したものになります。

3. 補数コード

補数コードは合同の概念に基づいて導入されており、減算を加算で実現する例を見てみましょう。現在の時刻が北京時間の 6 時であるとしますが、北京時間より 2 時間進んでいる 8 時の時計があるとします。校正方法は 2 つあります。1 つは 2 時間遅らせる方法、もう 1 つは北京時間より 2 時間進んでいます。もう 1 つは 10 時間進めることです。逆ダイヤルが減算、前進ダイヤルが加算と規定されている場合、時計では2を引いて10を加算すること、つまり10を加算することで2を引くことができます。これは、8プラス10は18に等しいためですが、時計は最大12までしか表示できません。12を超えると当然12は失われ、18マイナス12では6だけが残ります。これは、特定の条件下では減算が加算に置き換えられることを示しています。ここで、「12」は「モジュロ」と呼ばれ、10 は「-2」の補数をモジュロ 12 と呼びます。一般化:

A – B = A ( – B M ) = A ( – B ) 補数

法 M の条件下では、A マイナス B を使用できることがわかります。これを実現するには、プラス -B の補数を加えます。ここでモジュールはカウンタの容量とみなすことができ、上記の時計の例ではモジュールは 12 です。コンピュータでは構成要素の桁数が決まっており、その桁数をnとするとカウント値、つまりカウンタ容量となりますので、コンピュータにおける補数符号は「 」を法とするものとなり、その定義は次のようになります。

つまり、正の数の場合、その補数は元のコードと同じ形式になります。式 (3) および (4) から、負の数の場合、補数は補数の最後の桁に 1 を加えたものです。

つまり、元のコード、補数コード、正の数の補数コードは全く同じであり、負の数の元のコード、補数コード、補数コードは形式が異なります。さらに、負の数 (つまり、符号ビット 1 を持つ数値) の 1 の補数と 1 の補数の場合、符号ビットの後の数桁は次の値を表さないという事実に特別な注意を払う必要があります。人数、個数、総数。この数値の大きさを知りたい場合は、その補数または補数を必要とする必要があります。

推奨: 「プログラミング ビデオ

以上がコンピューターマシンの数を表す 3 つの方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。