コンピュータのデータ表現

コンピュータのデータ表現
国際産業情報学科2年
小畑直美
2進数
• コンピュータの内部で使われている。
• 0と1の2つの数字の組み合わせで値を表
現している。
• バイナリ(binary)という。
2進数
★コンピュータで2進数が利用される理由
• データ処理が単純で機械などを作るのが
簡単。→コストの低下
→性能の向上
コンピュータは2進数で処理され、10進数で
表示されている。→ソフトウェアが変換して
いる。
ビット、バイト、オクテット
• ビット・・・2進数の1桁を表す単位。
• バイト・・・8ビットを1つの固まりとしたもの。
「1バイト=8ビット」
• オクテット・・・8ビットであることを強調する
場合に使うもの。
ビックエンディアンとリトルエンディアン
★2バイト以上の数値データをメモリに格納する方
法
・ビックエンディアン・・・最上位バイトから順番にア
ドレスの昇順に格納する方法。
・リトルエンディアン・・・最下位のバイトから順番に
アドレスの昇順に格納する方法。
ビックエンディアンとリトルエンディアン
★ 12345678という値をメモリに格納する場合
ビックエンディアンの場合
下位← 12
34
56
78 →上位
リトルエンディアンの場合
下位← 78
56
34
12
→上位
ビックエンディアンとリトルエンディアン
★どのように分けられているのか?
コンピュータのCPUを設計する時に選択さ
れ、コンピュータの設計者が都合がよいよ
うに決められている。
よって、それぞれの会社で扱っている方法
が違っている。
ビックエンディアンとリトルエンディアン
★例)<ビックエンディアン>
Sun Microsystems社
IBM社 Motolor社
旧DEC社(現Compaq社)
<リトルエンディアン>
ザイログ社 Intel社
etc・・・
etc・・・
ビックエンディアンとリトルエンディアン
★扱っている方法が違うコンピュータ同士で、
通信しようとすると問題が生じる。
問題とは・・・データの上位のバイトと下位
のバイトの関係が入れ替わり、全く異なっ
た数値になってしまう。
ビックエンディアンとリトルエンディアン
ビックエンディアン
A社
データ送信
リトルエンディアン
B社
4E 6F 5F 37
4E 6F 5F 37
「麗澤」
正しく通信できない。 「鑪鯨」
ビックエンディアンとリトルエンディアン
ビックエンディアン
リトルエンディアン
A社
4E 6F 5F 37
B社
6F 4E 37 5F
4E 6F 5F 37
変換
4E 6F 5F 37
ネットワークを通してデータ通信をする場合は、通
常ビックエンディアン方式に変換してからデータを送
信している。
人が扱う情報をデジタル情報に
• コンピュータは情報をすべて数字に置き換
えて記憶している。→デジタル化
<文字について>
ASCIIコード表・・・アルファベットを数字に変
換するための規則。
JISコード
SHIFT-JISコード
漢字や、仮名のコード化。
EUCコード
UNICODE→世界各国の文字体系に対応させた
統一文字コード。
人が扱う情報をデジタル情報に
コード化(符号化)→文字を数字に変換す
ること。
デコード(復号)→数字を文字に変換するこ
と。
注意 すべてのコンピュータが同じ文字
コー
ド表を利用しているとは限らな
い!!
人が扱う情報をデジタル情報に
<画像や音について>
PCM(Pulse Code Modulation)
→音の波形データをデータ化したもの。
MIDI(Musical Instrument Digital Inte
rface)→音楽の楽譜情報を元にしてデー
タ化したもの。
人が扱う情報をデジタル情報に
JPEG
GIF
PNG
写真、図形などの画像データ
MPEG1
MPEG2
Quick Time
音声付の動画データ
2の補数と1の補数
• コンピュータで負の数を表す時に「補数」が
利用されている。
<1の補数>
01010010 → 10101101
00000101 → 11111010
・ビット反転させたもの。
2の補数と1の補数
• <2の補数>
01010011 → 10101101
00000101 → 11111011
・1の補数に1足したもの。
☆一般的に多く利用されているのは、2の補
数。
2の補数と1の補数
5+(-3)=2
1の補数による加算
2の補数による加算
5 00000101
5 00000101
+ -3 11111100
+ -3 11111101
100000001
100000010
+1
00000010
☆1の補数は計算が少し複雑になるため、コンピュ
ーターの演算では2の補数が利用される。