数値データは、コンピュータに保存されています

参考:

元MOOC-バネ:コンピュータベースのシステム(A)は、第2週

固定小数点および浮動小数点数

コンピュータに格納された整数、浮動小数点数


数値データは、典型的には含む整数および実数コンピュータにおける三つの主要な懸念を表す数値データ:バイナリ表記、固定/浮動小数点表現、バイナリコード。

バイナリ表記:

  • 小数:0、1、2、3、4、5、6、7、8、9
  • バイナリ:0、1
  • オクタル:0、1、2、3、4、5、6、7
  • ヘキサン:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

バイナリ変換(バイナリR):整数部、添加モジュロR、右左下に、小数部分、R、左下及び右により丸め。

簡単な方法:

835 = 512 + 256 + 64 + 2 + 1 => 1101000011

> 0.1011 = 0.6875 + 0.125 + 0.5 = 0.0625(コンピュータに小数点を表す方法)

固定、浮動小数点表現(解決小数の問題を)

固定点:機械における小数点の位置は、すべての固定データを合意したが、固定点は、典型的には小数(最上位ビット部分の値の前に固定小数点)または純粋整数(小数固定最後部の値)として表されます。小数点は、浮動小数点数の仮数部を表すために、固定小数点整数整数を表すために使用します。整数に分割されて符号付き整数符号なし整数これは、符号ビットの有無を値の範囲を示しているかを判断します。

フロート:浮動小数点の効果の指標を使用して、それは実数として表現されるX \(X =( - 1)^ S \タイムズM \ E ^ R&LTタイムズ\。) S 0又は1であり、Xが決定されるシンボル、Mは、バイナリ小数点であり、Xと呼ばれる仮数(仮数); Eは、固定小数点2進整数であり、Xと呼ばれるステージまたは指数関数(指数); Rは基数である(ベース)、コンピュータ2(以前は4又は16)を取ります。

一般的にIEEE 754規格に従ったコンピュータで浮動小数点:

単精度(32ビット)を使用して、1つの符号ビットは、8つの指数部、23仮数と、

ビス(64ビット)を使用して、進捗:1符号ビット、11指数、仮数52。

前述したように、浮動小数点の仮数部は、発現され、浮動小数点と固定小数点整数順序フレームシフト使用を表す(すなわちを、プラスオフセット)します。

  • 定点整数、定点小数
  • フロート:表現するために小数点と固定小数点の整数であることができます

バイナリコード(解決するための符号問題を)

元のコードは、補体、後述する反転シフト(以下)であろう。

オリジナルコード

最初のものは符号ビットであり、0で示される正数、1は負の符号、直接小数点数から二進数に変換他のビットを示しています。以下の表は、10進数4ビットの2進数との対応関係です。

小数 バイナリ 小数 バイナリ
0 0 000 -0 1 000
1 0 001 -1 1 001
2 0 010 -2 1 010
3 0 011 -3 1 011
4 0 100 -4 1 100
5 0 101 -5 1 101
6 0 110 -6 1 110
7 0 111 -7 1 111

問題:

  • ユニークではないが0、+ 0(表し見出すことができる0 000)および-O(1。同じではない表し000)。

  • +/-動作モードは一様ではない:\(= 0011 1 + 2 = 0001 + 0010 \) 右); \(1-2 = 0001から0010 = 0001 + 1010 = 1011 \) エラー)、符号ビットの必要性処理

補数

否定あなたの補数、プラス一端に対応する負の整数。

変形補体(4'S comlement):ダブルシンボル、オーバーフローできる中間結果を格納します。

小数 補数 変形補数 小数 バイナリ否定 補数 変形補数
0 0 000 00 000 -0 1111 0 000 00 000
1 0 001 00 001 -1 1110 1 111 11 111
2 0 010 00 010 -2 1101 1 110 11 110
3 0 011 00 011 -3 1100 1 101 11 101
4 0 100 00 100 -4 1011 1 100 11 100
5 0 101 00 101 -5 1010 1 101 11 101
6 0 110 00 110 -6 1001 1 110 11 110
7 0 111 00 111 -7 1000年 1 111 11 111
8 1 000 01 000 -8 0111 1 000 11 000

8は、補体4を表すことができないと、符号ビット(オーバーフロー)の大きすぎる値を占有するが、補体のための符号ビットの保持、最高数値で修飾することができるような小数を注意。

我々は、テーブルから0を見ることができ-0以下の問題の減算を分析するために、補完し、ユニークなを表しています。

これに先立ち、まず剰余演算の例を見てみましょう。

10ポイントの時計時針点6:00にそれを配置するために、二つの方法があります。ダイヤルグリッドダウン4(10-4 = 6)またはシスダイヤル8(10 + 8 = 18 18mod12 = 6、ここで使用される金型は操作)。

別の例:9828-1928を計算のみを添加した4つの10進のモジュロ演算システム、

\(9828-1928 \\ = 9828+(10 ^ 4から1928)()反転負\\ = 9828 + 8072 = 17900 \\ \ MOD 10 ^ 4(高い廃棄1)= 7900 \\ \)

コンピュータ演算のモジュロ演算システムは、(コンピュータオペレータがnビットを仮定すると、唯一の有限のビットであるため、操作の結果は、下位nビットを保持することができる)ようになっています。

以下のように計算されます。

0000 \\ = 0111 \; \(0111 \; \ 1111から0100 1111+(2 ^ 8から0100 \; 0000)\\ = 0111 \; \ + 1100 1111; 0000 \\ = 10011 \ 1111(\ MOD 2 ^ 8)\\ = 0011 \ 1111 \)

すなわち補体減算の使用は、合計として処理することができます。

フレームシフト

オフセット値+定数(過剰/バイアス)。符号化ビットの数がnである場合、バイアスは、通常-1(例えば、IEEE 754のような)(N-1)又は2 ^(N-1)^ 2をとります。例えば、N = 4の場合:

小数 バイナリフレームシフト
-8(8) 0000
... ....
0(8) 1000年
... ...
+7(8) 1111

留意:0フレームシフト表現ユニーク。バイアスされたとき(2 ^ {N-1 \ } \) 、補体とは、最初のものは同じではないシフト。

ご注文は、浮動小数点のシフトによって表されますなぜ?浮動小数点減算DUIは、操作順序を容易にする(サイズ比較)。例えば:\(1.01 \×2 ^ { - } + 1.11 1 \ 2 ^ 3倍\。)、DUI -1補体111,3 011二サイズを比較し、この時間の補数であるため。\(111 <011?\) 直接比較することはできません。プラスすなわち、定数及び順序れる4 = -1 + 3 + 4 011,3補体比較その後、7 = 111の相補体である:011 <111、結果が直接確立されます。

おすすめ

転載: www.cnblogs.com/xfy-learning/p/11519784.html