No.3
- 回答日時:
○文字について
文字は、「文字コード」としてそれぞれの文字に固有の番号を付けて管理しています。例えば、"A"って文字は65番だとか、決まってるわけです。
んで、その数字を2進数に変換してやれば、0と1で文字が表現できるわけです。
ですが、A(65)を2進数で表すと100001ですしz(122)なら1111010と、文字ごとに桁数が異なってしまいます。
これでは文字をいくつも並べたときに区切り位置が分からなくなって困るので、8桁を1単位として、足りない分は0で埋めるってお約束があるのです。
"A"なら、00100001,"z"なら01111010ですね。この、「8桁で一纏まり」のことを「バイト」って言います。それに対して個々の0/1のことを「ビット」って言います。 8ビット=1バイト です。
文字コードには、国や言語、使用するOSなどによっていろんな種類があり、文字コードごとにどの文字が何番かっていうのは異なります。(といっても、アルファベットや数字に関しては、どの文字コードでもほぼ共通ですが。)
英語圏で使われるほとんどの文字コードは、一文字=1バイトですが、日本語を含む漢字圏の言語では、2バイト(16桁の2進数)を使用して1文字を表現しています。(1バイトでは最大256文字までしか扱えませんが、2バイト使えば、最大65536文字を扱うことが出来ます。)
世界規模で普及の進む「ユニコード」も、1文字=2バイトです。
○数字について
文字よりも数字を説明する方が難しいです。例えば「100」という数字を表現するのにも、幾つもの方法があるのです。
正の整数のみを扱う方法、正負の符号付きの整数を扱う方法、小数点つきの数を扱う方法などがあり、それぞれについて、2バイトで一つの数を表す方法や、4バイトを使用する方法などがあります。
兆とか京といった大きな数を誤差無く扱うために考え出された方法とかもあります。自分で新たな「方法」を考え出してもいいです。
とりあえずここでは、「101」を1バイトの符号無しの整数として扱う方法を書いてみます。
101 = 64 + 32 + 4 + 1 つまり、2^7 + 2^6 + 2^2 + 2^0 ですね。(^ はべき乗を表す。2^7は2の7乗、2の0乗は1)
んで、それを
01100101
っていうふうに表すわけです。左から右に向かって、2^8が0コ + 2^7が1コ + 2^6が1コ + 2^5が0コ + ・・・ + 2^0が1コ。です。10進数を2進数にするときのやり方と一緒ですね。
○日付
これも、様々な方法があります。1900年1月1日からの経過秒数で日付/時刻表現する方法とか。
○絵について
絵も数字です。絵は色のついた点の集合として考え、色は、その色を表す番号で与えられます。赤なら255番とか。
色を三原色(赤/緑/青)に分解して、赤/緑/青の各色の強さで表すことも多いですね。
○音について
音も数字で表現できます。例えば、1秒間に流れる音を表すときは、その音を44100個の細切れにします。んで、その瞬間瞬間の音の大きさを数値にして記録します。
再生するときは、その数値に応じた大きさでスピーカを振動させます(1秒間に44100回)。するとCDクオリティの音がスピーカから沸いて出るわけです。
No.2
- 回答日時:
ビット、バイトの説明はquowiさんがされているので、文字の件を・・・
quowiさんがおっしゃっているように、コンピュータはすべて2進数の数字でデータを表します。
ですが実世界では、数値以外にも文字・記号・画像・映像などなどいろいろな形のデータが存在します。このようなデータをコンピュータで扱うにはどうしても2進数に直さなければ扱うことができません。
そこでコード・フォーマットなどということ決めて、変換しています。
たとえば、簡単にするためにひらがなを考えます。
ひらがなを2進数で表すためには、まず、ひらがなが何種類あるかを考えます。仮に50個だとします。(数えてないです。すいません)
すると、2進数6桁で0から63まで数えれますので6ビットあれば表せることになります。ですが、コンピュータは8ビット(1バイト)ごとにデータを扱えるのが一般的ですので、1バイトで考えます。
ここからは、単なる決め事です。
たとえば次のようにします。
「あ」→00000000(0)
「い」→00000001(1)
・
・
・
「は」→00011110(30)
・
・
あとは、その決め事にあうようにプログラムを組むのです。
ただし、この決め事をプログラマそれぞれが勝手に決めると、それぞれのプログラムでデータを交換できなくなってしまいます。そこでその決め事をいろいろなところがしています。たとえば、ASCIIコード、JISコードS-JIS、UNICODEなどなど・・・その決め事に沿っていれば、そのコードでかかれたデータは読み書きできることになります。
これが文字を2進数で表すということです
それぞれで
No.1ベストアンサー
- 回答日時:
コンピュータには言葉など無いために、
人間のように言葉を使って情報を扱う事は出来ません。
全ての情報を数字だけであらわします。
特定の数字に特定の文字を割り当てているのです。
しかし、人間のように0~9までの数字を
扱うのではなく、0か1かの2通りの数字しか、
コンピュータでは扱えません。
何故2通りだけかというと、コンピュータにとって、
電流を流すか流さないか、すなわちスイッチがONかOFFか
という事しか認識できないため、それに文字を
ON→1、OFF→0という具合に割り当てた場合、
0か1か、という2種類のみの数字しか認識できないのです。
スイッチ1個だけでは、ONかOFFかという2種類の
情報しか扱えません。
そこでこのスイッチを8個を集めて一単位としました。
すると2の8乗=256通りの情報が扱えるようになります。
スイッチ1個分の、ONかOFFか(0か1か)の2通りしか扱えない
単位を1ビットといいます。それが8個集まって8ビットですが
その8ビットは1バイトになります。
0→0か1かの2通り(1ビット)
00000000→8個単位で256通り(8ビット=1バイト)
※0一個をスイッチ1個と考えて下さい。
0の部分は0か1かという事です。
10進数では0、1,2,3,4、・・となりますが
2進数では以下のようになります。
0 → 00000000 (スイッチ全てOFF)
1 → 00000001 (1個目のスイッチがON)
2 → 00000010 (2個目のスイッチがON)
3 → 00000011 (1、2個目のスイッチがON)
4 → 00000100 (3個目のスイッチがON)
5 → 00000101 (1、3個目のスイッチがON)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルシート名の制限を変更...
-
[VBScript][wsh]byte単位でのデ...
-
COBOLのCOMP形式について
-
10Mバイトて文字数に すると何...
-
EUSARTで通信
-
char str[256]の256の意味は?
-
C++ Builderで文字列をバイトに...
-
VBSでテキストファイルの文字列...
-
UTF-8で5~6バイトになる文字コ...
-
コレって何が表示されたんですか?
-
「1TB」のHDDに日本語は何字入...
-
UTF-8とUTF-16およびUTF-32につ...
-
3バイト文字(UTF-8)をprintfで...
-
1KBが1024byteな理由
-
VBでShift_JISへurlエンコード...
-
2バイト文字の判定はString#get...
-
stable diffusionのエラー
-
タグの不等号処理
-
途中経過も表示するプログラム
-
アルファベットもURLエンコード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
エクセルシート名の制限を変更...
-
char str[256]の256の意味は?
-
COBOLのCOMP形式について
-
バイト列とバイナリ列の違いが...
-
ビットスワップとバイトスワッ...
-
VBAでShift-JISのURLエンコード
-
ピクセル,dpiから容量(バイト...
-
「1TB」のHDDに日本語は何字入...
-
SQLで1バイト、2バイト混在...
-
バイナリとBCDコード
-
Javaで日本語1文字のバイト数
-
UCS-2の一覧表が欲しい
-
3バイト文字(UTF-8)をprintfで...
-
:(コロン)のKeyCode
-
【VB2005】テキストボックス内...
-
64bit対応
-
URLは最高何文字まで可能なので...
-
機種依存文字をチェックしたい。
おすすめ情報