パック10進数とゾーン10進数がある。
データ表現は機種依存となることが多い。
10進数の各けたの値をBCDコード(2進化10進符号)で表現する。
① パック10進数:1バイトに2けた(記憶効率良い,演算速い)
10進数の1桁を4桁の数値ビットで表現し最後に4ビットの符号ビットをつける。
符号ビットは多くの場合、正の数に12、負の数に13を追加する( 機種に依存)
+234を表現した場合を例に、パック10進数の構造を示す。
0010 | 0011 | 0100 | 1100 |
数値ビット | 数値ビット | 数値ビット | 符号ビット |
符号部分が機種依存になる。
桁数により先頭に0000を追加する(+は12、ーは13とする)
+1234だと 0000 0001 0010 0011 0100 1100
ー1234だと 0000 0001 0010 0011 0100 1110
偶数桁の場合、符号ビットを追加すると奇数となるため
先頭に0000を追加する。
② ゾーン10進数:1バイトに1けた(表示・印字効率良い,計算はパックに変換の必要あり)
アンパック10進数とも呼ばれる。
10進数の1桁を、4桁のゾーンビットと4桁の数値ビットとに分けて表現する。最後のゾーンビットは符号ビットになる。
パック10進数はゾーン10進数のゾーンビットに数字を入れられるようにした物とイメージする
ゾーンビットはデータが数値であることを表すコードである。
+123をEBCDICで表現した場合を例に、アンパック10進数の構造を示す。
1111 | 0001 | 1111 | 0010 | 1100 | 0011 |
ゾーンビット | 数値ビット | ゾーンビット | 数値ビット | 符号ビット | 数値ビット |
0 件のコメント:
コメントを投稿