自分用メモ
かなりややこしいので、
必要に応じて覚えればいいかな
コンピュータにおける「1/10」とは
コンピュータは、電気のON-OFFしか扱えないため、
1/0という数字しか扱えない
しかしこの単純な2つの数字だけで
全ての世界を表現する事が可能だとも言える
→文字、画像、音声、動画、プログラム等
1/0という数字には
「しがらみ、こうでなければいけないという固定観念」がない
1/0は約束事(ルール)を決めれば何にでもなれる、と言える
膨大な数のスイッチ(1/0)があれば、何でも表現できる
プログラムも他の全てのデータと同様「1/0」で表現される
「CPUが実行できる1/0の羅列」を「機械語」と呼ぶ
どんなプログラミング言語で作られたプログラムだろうが、
CPUが実行するために最終的に機械語へ変換される
機械語へ変換されないと、CPUはそのプログラムを実行できない
※参考:プログラミングの基礎知識。言語や仕組み、開発について
文字コード及びその標準化団体
文字コードとは、文字を表すための1/0の羅列のこと
0100001を「文字Aとする」などの文字コードのルールは、
ASCIIコード表によって対応が決められている
ASCIIは、一文字を8個の1/10で表現する
文字コードなので、256通りの文字しか表現できない
なので今ではUnicode(UTF-8)という、
1つの文字を1~6バイトで表現する文字コードが普及している
かつては「Shift_JIS」という
2バイトで表現される文字コードがあった
文字化けのリスクのある文字コードの氾濫を避けるため、
全てのファイルでUTF8という文字コードを
利用することが望ましいとされている
→これにより文字化けも減少した
「コンピュータに1/0をどう認識させるか」について、
標準化団体が約束事(ルール)を定めている
「Shift-JIS」は、日本工業標準調査会が
規定した日本語用の文字コードである
UnicodeはMS、Apple、IBM、HP、ジャストシステム、
サンマイクロシステムズなどが参加する
ユニコードコンソーシアムにより作られ、
ISO(国際標準化機構)によって国際規格として取り込まれた経緯がある
また、音声や動画も、画像とに同様1/0によって表現できる
音声は音の大きさや周波数といった数値データを
1/0で表現すれば良いだけ、動画は音声と画像の組み合わせ
これらの数値化できないものでも、
文字コードのように数値化して対応表を作れば良い
「1/0の扱い」さえ決めてしまえば何でも表現できる
電気スイッチでデータを表現する方法
コンピュータ(CPUやメモリ)を動かしているのは「電気」である
デジタルデータもコンピュータの中では全て電気で表されている
「電気でデータを表す方法」について解決
家電は、スイッチによって電気を流したり(ON)、
止めたり(OFF)を意図的に出来る
科学技術は、スイッチによって意図的に
電気のON-OFFが操作できるように発展した
コンピュータも家電と同様「スイッチ」を使っている
「スイッチによってデータを表現する技術」を確立させている
1つのスイッチでON-OFFの二通りを表現する
ON-OFFを「1/0」と数値化した
1つのスイッチでは1/0の二通りのデータしか表現できないが、
スイッチの数を数万、数億と増やせば、膨大な数を表現できる…と考える
2進数とは
数字を1/0だけで表現する方法、コンピュータはこちらを使っている扱える数字が少ないのですぐに桁が上がる
0,1まで数えるとすぐに二の位に桁があがり「10」になる
2進数では10は「十」ではなく「二」という意味
2進数では二、四、八、十六と2倍ずつ桁が上がる
(10進数では十、百、千と10倍ずつ桁が上がる)
コンピュータの「指」は電源のON-OFFなので、
コンピュータは2進数で数を数える方がやりやすい
10進数とは
0から9までの10通りの数で表現する方法、私たちはこちらを使っている9まで数えると、1つ桁が上がって「10」になる
人間が10進数を使い始めた理由として、
人間の両手の指の数が合計10本だからという説がある
コンピュータにおけるデータ容量
コンピュータはデータ容量の単位としてbitやbyteを使う
ビット=スイッチ(1/0)①つのこと
1bitは「スイッチ1つで表現できるデータ容量」という意味
バイト=スイッチ8つ(1bit=8byte)
1/0が8個集まると、256通り(0-255)の数を表現できる事が分かる
8,000bit=1,000byte=1キロバイト
「8000個のスイッチで表現されるデータ容量」を、1キロバイトと呼ぶ
この記事へのコメントはありません。