デジタル
デジタル(英: digital, 英語発音: [ˈdiʤətl])は、以下のような意味の単語。
- 量を "段階的に区切って" 数字で表すことや、情報を "離散的な値"(英: discrete valueつまり "飛び飛び" の値)のあつまりとして表現し " 段階的な "物理量に対応させて記憶・伝送する方式や、データを "有限桁の数値" で表現する方法(を表現するための形容詞)であり、たとえば 0と1だけを有限個使って情報を伝えることである。対義語はアナログという形容詞であり、そちらは情報を連続した(物理)量で表現する方式である。
- 特に二進数で表現されたデータで構成されているもの。
- 「指を使って行った〜」という意味の形容詞。
なお日本産業規格 (JIS X 0001, JIS X 0005) では「ディジタル」という表記が採用されており、そちらの表記も使われることがある。なお広辞苑第三版(1983年)及び第四版(1991年)はデジタルがディジタルを参照させるようになっており、逆になったのは1998年の第五版であった(→#片仮名表記)。当記事の表記としては「デジタル」のほうを採用して以下の説明を行う
概要[編集]
英語のdigitalは形容詞で、語源はラテン語の「digitus」(ディジトゥス、「指」の意)であり、それがラテン語の中で「digitalis」(ディジタリス)という形に変化し、それが15世紀なかばに英語に入り「digital」となり「10より小さい数を指に関連付ける(指に関連づけて数える)」という意味になり、1650年代に「指に関連づける(指に関連づけて数える)」という意味になった。「digital」が「『(10より小さい)数』を使っている〜」という意味の形容詞として使われるようになったのは1938年以降のことであり、特に、1945年以降に現れた、(それまでのアナログコンピュータと対比されるような)digit(※)方式 の(十進以外、典型的には二進方式の)コンピュータのことを形容するために使われ始めた
- (※)英語の「digit」には「十進法以外、特に二進法で表現された要素」という意味がある。
今日ではデジタル方式と呼ばれている装置は、1940年代前半では、まだ研究が始まって日が浅く、アナログ方式と対比しつつも「パルス(式)」という表現で形容されていた。だがエンジニアのジョージ・スティビッツが「パルス(式)」ではこの装置の動作プロセスが適切に表現されていないと感じ、「デジタル」と表現したほうがよいと(1942年4月に開催された科学研究開発局(OSRD)の部門会議に出席した後に)指摘した。こうして、「デジタル」という用語・表現が非アナログ方式のコンピュータを指すために使われるようになっていった。(なおスティビッツは電気機械式リレーをスイッチ素子として使ったブール論理デジタル回路の開発を1930年代から1940年代にかけて行った人物であり、「デジタルコンピュータの父」と呼ばれることもある人物である。)
コンピュータがデジタル方式だということは、コンピュータのCPU内(の核心部分。演算装置やレジスタ類)での数の表現が二進方式になっていることを意味しており、1か0という値をとるビットが有限個(※)並んだもの(ビット列)で数が表現されている。
- (※)あくまで有限個である。よくある個数は8/16/32/64のいずれかである。
二進数のそれぞれの桁はビットと呼ばれ 0 または 1 の数字で表される。
デジタルコンピュータでなぜ二進法が採用されるのかという理由について、情報処理技術者の教科書に次のように説明されている。ビット列の各ビットを反転することで《1の補数》が得られ、それに1を足すと《2の補数》が得られる。ある数と、(その数の)2の補数との加算を行うと、紙の上の計算では最上位の桁から桁上がりが起きるが、有限の桁しかない加算器では最上位の桁の桁上がりが無視される仕組みになっているので演算結果が0になる、という注目すべき性質がある。デジタルコンピュータのCPUの演算器では、もとの数の2の補数は「0 - もとの数 = - もとの数」を意味することになる。この性質を利用してCPU内の演算では減算 A-Bを 「A+ (-B)」と書き換えることができ、さらに「A+ (Bの2の補数)」と書き換えることができる。つまり負数に2の補数を使うことで、減算という作業を加算と同様に処理できることになり、演算回路を単純なもので済ますことができる。
二進数方式でCPUが動いているデジタルコンピュータは(最初から二進数で入力し、演算し、二進数を出力することもできるが)十進法の数を扱う場合は、一旦、その十進数を二進数へと変換する基数変換を行っている。これらの基数変換は例えば、キーボードから数値を入力する際や、人間のために計算結果を十進で表示する際に行われる。
有限の長さのビット列を扱う場合、算術演算の結果がそのビット列の長さに収まらないことがある(算術オーバーフロー)。
特徴[編集]
- ノイズの影響を受けにくい
アナログ方式と比べて、デジタルデータはノイズの影響を受けにくい、という特徴がある。
デジタルデータの伝送や記録・再生などを行う場合、デジタル量もアナログ量と同様に電圧・電流などの電気信号に置き換えて取り扱われるが、外乱が生じて信号にノイズが混入した場合、アナログ処理では特別な処理を行わない限り信号に混じったノイズを取り除くことが困難であるが、これに対し、デジタル処理では、数値は飛び飛びで離散しており、中間値をもたないので、ノイズによって生じた誤差が一定量以下ならばそれを無視することで、元のデータが保たれる。この数値は、六進数や十進数のような「素因数が複数」の記数法でも適用でき、データが整数表現の場合、1がノイズによって0.8(10)(=4/5)や0.4(6)(=2/3)や1.2(十進数だと6/5、六進数だと4/3)に変化しても1と扱う回路を用意しておけば良い。
実際の記録・伝送などでは上述の範囲を越えるノイズが混入する場合がある(例えば、1が0.4(10)(=2/5)や0.2(6)(=1/3)、または1.6(10)(=8/5)や1.4(6)(=5/3)に変化すると、異なる値0または2となる)が、デジタルコンピュータでは、そのような場合でも誤りを検出する手法が発明されており、データを予め誤り訂正符号などを使って冗長化しておくと、それを使い逆算して補正したり、補正出来ない場合は無視したり、誤りの発生を検出して再送を要求したりすることができ、信頼性の高い伝送や再生を行うことができる。
- 誤差
なお「デジタルコンピュータなら、いつでも計算が正確」と思うのは幻想でしかない。特に浮動小数点方式で演算する場合は誤差が生じるということには注意を払う必要があり、数値が表現可能な数値範囲を超えてしまう可能性にも十分に用心する必要がある。分かりやすい出来事を紹介すると、たとえば1991年、アメリカ軍のパトリオットミサイルは時間計算の誤差が原因で誤作動して死者が出てしまったし、欧州宇宙機構のアリアン5型ロケットなどは1996年の打ち上げ時にわずか40秒で爆発し、このロケットのために費やした10年の歳月および70億ドルの開発費および搭載した5億ドル相当の装置が失われてしまった。アリアン5型の爆発の直接の原因は、慣性基準装置(IRS)のソフトウェアが水平方向の速度を表現する64ビット浮動小数点数を16ビット整数に変換したため、16ビット整数の最大値である32768を越えてしまい変換に失敗したことであった。
特に浮動小数点方式で非常に近い2つの実数の引き算を行うと、有効桁がひどく損なわれて非常に大きい誤差が発生することがある。たとえば32ビット(単精度)の状態で2つの近い実数の引き算をさせると、数学的に正しい値とは約20%も計算値がズレることがある。
また最小値に近い数値を扱っていないかどうかにも注意を払う必要がある。
デジタル処理では、定義された最大値を超えた場合には桁溢れ(オーバーフロー)となり、以後の演算処理の結果は保証されない。また、最小値に近い数値では量子化誤差が無視できず、S/N比の劣化として現れることがある。
固定小数点数と浮動小数点数[編集]
デジタルコンピュータで小数点数(小数点がついているような数)を表現する方法としては、固定小数点表示 / 浮動小数点表示 という2つの方法がある。
固定小数点方式では、数値の整数部と小数部をそれぞれビット列の一部で表す。整数部および小数部のビット列の長さは固定されているため、小数点が固定された数値表現といえる。浮動小数点方式は、数値を仮数部と指数部に分けて表す。浮動小数点方式では、小数点の位置は指数部の値によって変わる。
固定小数点方式は、浮動小数点方式と比較して、大きな数値や小さな数値の表現には向かず算術オーバーフローも生じやすいという欠点がある。その一方で、情報落ちによる誤差は発生しにくい、演算が浮動小数点よりも高速という利点がある。
浮動小数点方式は、固定小数点方式と比較して、大きな数値や小さな数値も表現できる。他方、桁落ちによる誤差が発生する欠点がある。(浮動小数点方式で計算すると20%もの誤差を生じることがあり、深刻な事故の原因にもなることは#特徴の節で説明した。)
デジタルデータへの変換[編集]
音声や画像のような本来連続的な対象をデジタルコンピュータで扱う場合、入力信号に対して標本化および量子化と呼ばれる処理を行い、その特徴量を数値化する。入力データを適当な区分に分割し、各区分の代表点を取る操作を標本化という。標本化によって得られる代表点は連続的な値をとるため、代表点の値が収まるような区間で離散化する必要がある。代表点の値を離散的な数値に対応する操作を量子化という。
原信号に対する忠実度は標本化のサンプリングレートと量子化のステップ幅およびステップ数に依存する。デジタル化された信号は、サンプリングレートが高いほど、またステップ幅が小さいほど原信号に対して忠実である。一方、データ圧縮の観点では、必要最低限の忠実さを保ちつつより低いサンプリングレート、より少ないステップ数で符号化することが求められる。
マイクロコントローラの中には外部からのアナログ入力(電圧の連続的な変化)を受け付ける入力ピンをいくつか備えているものもあり、それだとアナログ値をデジタル値に変換することができる。またデジタルシグナルプロセッサもアナログ信号をデジタル信号に変換する役割を担う。
デジタル処理[編集]
アナログデータをデジタルデータに変換することを「デジタル化する」、「デジタイズする」などという。
デジタル処理[編集]
デジタルデータをそのまま扱う場合(単純なリニアサンプリング)について述べる。
実際のデジタル処理では、二進数1桁をビットとし、8ビットなどのまとまった単位をオクテットまたはバイトとして取り扱い、さらにそのまとまりをワードという単位として取り扱うことが多い。これは処理装置や記憶装置の語長に合わせて効率よく使えるようにするためである。
片仮名表記[編集]
英単語 digital の音写として一般に「デジタル」と「ディジタル」の二通りの表記が用いられる。
例えば日本産業規格 (JIS X 0001, JIS X 0005) などでは「ディジタル」という表記が用いられている(「ディジタル計算機」「ディジタル化する」「ディジタルデータ」など)。
「ディジタル」や「デジタル」の間で表記が揺れた要因として、1955年に文部省が発行した『国語シリーズ27 外来語の表記 資料集』の影響が考えられる。同資料ででは次のように説明していた。
11.原音における「ティ」「ディ」の音は、なるべく「チ」「ジ」と書く。
例 (中略)... ラジオ(radio) ジレンマ(dilemma)
ただし、原音の意識がなお残っているものは、「ティ」「ディ」と書いてもよい。
この資料集は実際には規則ではなくあくまで現状整理という位置付けだったようだが同年版の『記者ハンドブック』(共同通信社)の外来語の書き方の欄などメディア関係者が参照する資料に文部省資料集の主要な記述がそのまま転載され、事実上のガイドラインとなっていた。
時代が下って1980年代に入るころには洋楽視聴などさまざまな経路を通じて日本人が外国語の発音を直接耳にする機会が増えた影響か、1981年の『記者ハンドブック』第4版では「原音のティ、ディ、テュ、デュで慣用が定まっている場合はチ、ジ、チュ、ジュで書く」となっているのは、逆に言うと、新しく使われるようになった外来語では「ティ」や「ディ」などと原音に沿った書き方をするのが主流だと認めているということでもある。
1960年代から1970年代の専門書ではディジタル表記が圧倒的に使われていた。1960年代の一般紙では最先端の技術だった電子計算機は「ディジタル型」「ディジタル電子計算機」と書かれ、事実上のガイドラインがあっても1つの表記以外をあまり確認できなければ新聞も倣ったとみられる。
だが、一般人が使う慣用的表記としては「デジタル」が1970年代末までに定まり、現在ではそちらが使われ続けている。 「デジタル」という表記が広まった理由の1つは時計の広告であり、1965年の東京時計製造のパタパタ時計の新聞広告には「東京デジタル」とあり、1968年にソニーが「デジタル24」という名称のパタパタ時計式の時計ラジオ一体型製品を発売。どうやらメディアで広く宣伝するために1955年の文部省資料のガイドラインに沿った表記にしたと見られる。1970年代後半にはデジタル腕時計のブームで広告には「デジタル」の文字が踊り、1978年にカシオ計算機が山口百恵を起用したCMで山口が歌う「デジタルはカシオ」のフレーズが流行し、この結果、学術分野以外ではデジタルの語で急速に固まった。
広辞苑第三版(1983年)及び第四版(1991年)はデジタルがディジタルを参照させるようになっていたが、逆になったのは1998年の第五版であった。
なお、上述の複雑な経緯により「デジタルネイティブ」のような異なる時期の表記法が同居している複合的な外来語も出てきた。(「デジタル」のほうは原音から離れた表記だが、「ネイティブ」のほうは1980年代以降に1955年版資料のガイドラインの影響を受けずに原音に沿った音で広まった外来語である)