<戻る>
数値データの扱い方
次にアナログ信号とデジタル信号で、数値データの扱いに関する違い
を見ていきます。
様々な電子機器では電気信号が使われますが、ここでは電気の代りに、
水とビーカーを使って数値を扱うものとします。
アナログの場合、例えば1という値を1ミリリットル(ml)の水で表
します。同様に10という値は10ml、100という値は100ml
となります。1mlと100mlでは水量が100倍異なります。
デジタルでは、例えば1B(バイト)で上位4ビットが仮数、下位4
ビットが桁数を表すという規則で表現する方法があります。このとき、
1という値は仮数部が0001、桁数が0001 なので、'0001 0001'となり、
同様に、10や100は、'0001 0010'や'0001 0011'となります。ここ
で、1ビット当たり10mlの水で表すとすると、'0001 0001'は、
1: 0ml&0ml&0ml&10ml
&0ml&0ml&0ml&10ml
となります。同様に10や100は
10: 0ml&0ml&0ml&10ml
&0ml&0ml&10ml&0ml
100: 0ml&0ml&0ml&10ml
&0ml&0ml&10ml&10ml
となりますので、表現する値によって水の量が極端に違うようなことは
ありません。
このことは情報の伝達や保存の正確性に大きな影響があります。
情報を伝達する途中で雨が1ml降ったと仮定します。
アナログ信号の場合、
1: 1ml →雨で1ml増加→ 2ml : 2
10: 10ml →雨で1ml増加→ 11ml : 11
100:100ml →雨で1ml増加→101ml :101
となり、特に1という値は2に大きくに変化してしまいました。
デジタル信号の場合、
1: 0ml&0ml&0ml&10ml
&0ml&0ml&0ml&10ml
→雨で1ml増加→ 1ml&1ml&1ml&11ml
&1ml&1ml&1ml&11ml
0mlと10mlしかない筈なので、近い値に復元して
0ml&0ml&0ml&10ml
&0ml&0ml&0ml&10ml : 1
10: 0ml&0ml&0ml&10ml
&0ml&0ml&10ml&0ml
→雨で1ml増加→ 1ml&1ml&1ml&11ml
&1ml&1ml&11ml&1ml
0mlと10mlしかない筈なので、近い値に復元して
0ml&0ml&0ml&10ml
&0ml&0ml&10ml&0ml : 10
100: 0ml&0ml&0ml&10ml
&0ml&0ml&10ml&10ml
→雨で1ml増加→ 1ml&1ml&1ml&11ml
&1ml&1ml&11ml&11ml
0mlと10mlしかない筈なので、近い値に復元して
0ml&0ml&0ml&10ml
&0ml&0ml&10ml&10ml :100
となり、少しの雨であれば値に関わらず正しく伝達できます。
<つづく>