日曜日, 12月 3, 2023
ホーム コンピュータの基礎

コンピュータの基礎

デジタルにはゼロとイチしかありません。パソコンやスマートフォンはデジタルですが、ゼロとイチしかないデジタルでどうやってそれ以上の数字を扱っているのでしょうか。 0と1しかない場合は、2つの表現しかできないです。ゼロとイチの2つなので、数字で言うと0と1の2つだけです。 一般的には数字は0から9まで10個あります。この10個の数字を使っても0から9までしか数えられないと思う方はいないでしょう。実際にはそれ以上の数字を扱っています。0から9まで使ったら一つ桁を増やして10。99まで使ったら100と順次桁を増やしています。 これと同じようにゼロとイチしかないデジタルでも桁を増やして行けばどんな数も扱えます。 デジタルのゼロとイチで数字を表すには 一般的な数字デジタル001121031141005101611071118100091001101010111011121100131101141110151111 このようにデジタルで一般的な数字以上の勢いで桁が増えていきます。ゼロとイチしかないデジタルでも桁を増やして行けば、一般的な数字と同じように大きな数字を扱えます。 この一般的な0から10までの数字で表す事を10進数、デジタルの0と1しかない数字で表す事を2進数と言います。

デジタルとは何か

0
コンピューター、パソコン、スマートフォンなどはデジタル機器などとも言われますが、そもそもデジタルとは何でしょうか。 デジタルとはかなり大雑把に言えば、電気が入っているオンの状態か、電気が入っていないオフの状態しかない物のことです。一方でデジタルの逆と思われているのがアナログです。アナログはデジタルと違って、オンとオフがきっちりとは決まっておらず、中途半端な状態もあります。 デジタルの場合はゼロ(0)とイチ(1)しかないですが、アナログの場合は0も1も0.1も0.4も0.99999もあります。 部屋の照明で例えると、デジタルの場合は照明がついていて明るい状態か、消えていて真っ暗な状態しかないです。アナログの場合は、消えている状態もあれば、若干ついていてぼんやり明るい状態もあれば、そこからもう少し明るめになっている事も、結構明るい時もあります。そんな曖昧な状態があるのがアナログで、デジタルの場合ははっきりと決まっています。 このデジタルのはっきりと決まっている状態を活用すると、コンピューターで重要になる回路が作れます。 コンピューターの内部をみていくと最終的に行き着くのがどこかがオンかオフになっている状態です。このオンとオフの状態をうまく組み合わせると作れるのが論理回路です。 論理回路を活用し、この回路を大量に組み合わせることで、コンピューターの機能を実現しています。論理回路というのはいくつかありますが、計算するのに必要な、足し算のための回路(加算機)、データを保存するための回路(フリップフロップ)など何種類もあります。この論理回路を大量に組み合わせているわけですが、大量と言っても100とか1000、10万レベルではありません。論理回路を作るためにはトランジスタという部品を使いますが、2020年前後のスマートフォンでは100億個のトランジスタが使われています。1つの論理回路に2個のトランジスタを使っていた場合、1つのスマートフォンに50億個の論理回路が入っていることになります。 スマートフォンの中に50億個もそんな回路が入っているわけないと思うでしょうが、1つあたりの回路のサイズはおそらく30nm(30ナノメートル)角や50nm角くらいです。これは0.00003mmということです。単純に計算すると1mm角に90万の回路があることになるので、どれだけ小さい回路がスマートフォンに入っているかは分かると思います。 この複雑な回路を使うと、1つ1つはオンとオフしかしていなくても、スマートフォンやパソコンのような複雑なことが出来るのがデジタル技術です。
パソコンのキーボードで日本語を入力するには、キーの数が少ないのでそのままでは入力できません。 英語など欧米の言語の場合、文字数が30文字以下のため、キーボードから直接文字を入力できますが、日本語の場合、ひらがな、カタカナ、漢字など数千文字あり直接入力は出来ません。同じように入力できない言語に中国語、韓国語などがあります。 このような言語で入力するためには、かな入力の場合ならかなを入力した後に、必要に応じて漢字に変換します。一般的なローマ字入力の場合、ローマ字からひらがななどにしてその後に必要に応じて漢字に変換します。 このような入力方式はインプット・メソッド(Input Method、IM)と言います。OSにこのインプットメソッド用の仕組みが組み込まれており、この仕組みを使った入力の仕組みはインプット・メソッド・エディター(Input Method Editor、IME)と呼ばれています。Appleの場合は公式にはIMと呼んでいるようです。 Windowsの場合はMicrosoft IME、macOSの場合は日本語入力プログラムという名称の日本語入力IMEが組み込まれています。 それ以外のIMEとしてはATOK、Google日本語入力があります。 Windows以前のMS-DOSなどではOSの仕組みが異なり、Front End Processor (FEP)という仕組みで日本語を入力していました。FEPはOSの前(Front)に文字入力を処理するものだったので、FEP(エフイーピー、フェップ)などと呼ばれていた仕組みが使われていましたが、前述したように、この仕組みは現在は使われていません。
パソコンやスマートフォンなどのいわゆるコンピューターは何らかのデータを処理しています。 データを処理することで、動画を表示したり、メッセージのやりとりが出来ているわけですが、このデータはビット(bit)とかバイト(byte)という単位で扱われています。 最小単位がビットで、ビットを8つまとめた物をバイトと言います。 最小単位のビットは電気のオンオフのように、あるかないかだけの情報しかありません。 これで表現できるデータの種類はオンとオフの2つだけです。 このあるかないかを8つ組み合わせたバイトの単位だと、オンとオフを8種類組み合わせてより多くのデータを扱えるようになります。 2の8乗(2を8回かける2×2×2×2×2×2×2×2)で256種類のデータを扱えます。 つまり1ビットだと2種類のデータしか扱えませんが、1ビットを8つまとめた1バイトだと256種類のデータを扱えるので、より複雑なことが出来るという事です。 現在、小さなデータを表す際や通信関連ではビットが使われていて、大きなデータを表す際にはバイトが使われています。 例えば画像のファイルサイズは5MB(5メガバイト)、スマートフォンのストレージ容量は128GB(ギガバイト)。 CPUは64ビット、通信速度は100MBps(100メガ・ビット・パー・セコンド)(1秒あたり100メガ・ビットという意味)のように使い分けられています。 なぜビットを8つまとめたてバイトになったのでしょうか。 1970年代くらいまでは7ビットを1バイト、9ビットを1バイトとして使っていたこともありましたが、1980年頃から8ビットが1バイトが一般的になりました。 その後、2008年に正式に国際規格(IEC 80000-13:2008)として8ビットが1バイトに決まりました。