540 likes | 821 Views
第2章 情報の表現. コンピュータの世界において,どんな情報でも,例えば,数値,文字,音声,画像など,すべて 2進数 で表現されている.. この章では, 10 進数,2進数,8進数と 16 進数および各進数間の 変換方法 ,また,コンピュータのデータとして,数値,文字,音声,画像の 表現方法 について学ぶ.. コンピュータとネットワーク概論 第2章 情報の表現. 2.1 10 進数と2進数,8進数, 16 進数の 記数法.
E N D
第2章 情報の表現 コンピュータの世界において,どんな情報でも,例えば,数値,文字,音声,画像など,すべて2進数で表現されている. この章では,10進数,2進数,8進数と16進数および各進数間の変換方法,また,コンピュータのデータとして,数値,文字,音声,画像の表現方法について学ぶ. コンピュータとネットワーク概論 第2章 情報の表現
2.110進数と2進数,8進数,16進数の記数法 324個のものを10進数で表すことを考えると,下図のように100(102)位に3個をおき,10(101)位に2個をおき,1(100)位に4個をおけば,324個のものが表現できる. コンピュータとネットワーク概論 第2章 情報の表現
●位取り法 位取り法とは,それぞれの位の数字を用いて数を表現する方法である.例えば, 324 = 3×102 + 2×101 + 4×100 と表される.小数点の数も,位取り法で表現できる.例えば, 5309.18 = 5×103 + 3×102 + 0×101 + 9×100 + 1×10-1 + 8×10-2 コンピュータとネットワーク概論 第2章 情報の表現
● r 進数記数法 一般に任意の数N を で表され,r 進数の記数法という.ここに r を基数,ai(0≦ai<r)を係数と呼ぶ. ■10進数の場合,r =10,ai =0, 1, 2, ……, 9 ■ 2進数の場合,r =2,ai =0, 1 ■ 8進数の場合,r =8,ai =0, 1, 2, ……, 7 ■16進数の場合,r =16,ai =0, 1, 2, ……, 9, A, B, C, D, E, F (16進数について,A,B,C,D,EとFは数字であり,10進数の数に対応すると,A=10,B=11,C=12,D=13,E=14,F=15) コンピュータとネットワーク概論 第2章 情報の表現
■10進数の(7) 10+(8) 10 ■2進数の(1101) 2+(1110) 2 ■16進数の(8) 16+(A) 16と (A5) 16+(8C) 16 ●10進数と2進数,8進数,16進数の加法 コンピュータとネットワーク概論 第2章 情報の表現
(13)10=(1101)2=(15)8=(D)16 ●10進数と2進数,8進数,16進数の関係 コンピュータとネットワーク概論 第2章 情報の表現
●ビットとバイト ■2進数において,その数の桁数をビット数(bit)という.2進数 (10101101)2は8桁からなるので,8ビットの2進数という. ■約定: 1バイト= 1B(byte) = 8ビット と定義する.(10101110 11100001)2は2バイトのデータである. ■コンピュータにおいて,次の単位がよく使われている. 1KB=1キロバイト=1,024(210)バイト=8192ビット 1MB=1メガバイト=1,048,576(220)バイト=8388608ビット 1GB=1ギガバイト=1,073,741,824(230)バイト =8589934592ビット コンピュータとネットワーク概論 第2章 情報の表現
2.2 基数の変換 ●2進数⇒10進数 与えられた2進数の数を位取りの形式に展開して計算すれば,10進数の数になる.例えば, コンピュータとネットワーク概論 第2章 情報の表現
●2進数⇒10進数 小数の部分も位取りの形式に展開して変換する. コンピュータとネットワーク概論 第2章 情報の表現
●10進数⇒2進数 10進数の数(135)10を2進数に変換する場合,上のように商が0となるまでに2で連続割って,最後にその余りを下から上へ読むと,変換した2進数(10000111)2が得られる. (135)10=(10000111)2 下から上へ読むように コンピュータとネットワーク概論 第2章 情報の表現
●10進数⇒2進数 小数点の数(0.375)10は次のように変換する. よって,誤差が出なく,(0.375)10=(0.011)2となる. コンピュータとネットワーク概論 第2章 情報の表現
●10進数⇒2進数 しかし,(0.35)10の場合,誤差が出る. 小数点3桁では誤差があり,(0.35)10≒(0.010)2となる.よって,10進数(小数点数)を2進数に変換するとき、誤差が出ることがある. コンピュータとネットワーク概論 第2章 情報の表現
小数の場合( 11010111.01111 )2,小数点より左へと右へそれぞれ3桁(16進数の場合4桁)ずつ区切る . ●2進数⇒8進数(16進数) 整数の場合,2進数の数を最下位から左へ3(4)桁ずつ区切って分ける.最上位が3(4)桁に足りないとき,0を入れる.そして,その3(4)桁の2進数をそれぞれ8(16)進数に変換する. コンピュータとネットワーク概論 第2章 情報の表現
8進数⇒2進数 )2 16進数⇒2進数 ●8(16)進数⇒2進数 8(16)進数の数を2進数に変換するとき,それぞれの数字を3(4)桁の2進数で表せばよい(小数点の部分も同様).ただし,位とりの“0”を取り除く. コンピュータとネットワーク概論 第2章 情報の表現
●8進数⇔16進数 8進数と16進数の変換は,2進数を介して変換を行う. 8進数(16進数) ⇔2進数⇔ 16進数(8進数) のように簡単に変換できる.例えば,8進数の数(542)8を16進数に変換すると, コンピュータとネットワーク概論 第2章 情報の表現
●10進数⇒8(16)進数 8進数と16進数は簡単に2進数に変換できるから,8進数または16進数を2進数を介して10進数に変換を行う. 例えば,10進数を8進数,16進数に変換するとき, ( 1234 )10=( 10011010010 )2 =( 010011010010 ) 2=(2322)8 =( 010011010010 ) 2=(4D2)16 コンピュータとネットワーク概論 第2章 情報の表現
正の整数 整数 数値データ 負の整数 実数(有限桁数の小数) 2.3 数値データの表現(整数) コンピュータの世界で扱われる数値は大きく次のように分けることができる. 整数の表現法には,■固定小数点形式,■2進化10進数ゾーン形式と■2進化10進数パック形式という3種類がある.実数の表現法には,■浮動小数点形式がある. コンピュータとネットワーク概論 第2章 情報の表現
符号ビット ●固定小数点形式 整数には正の整数と負の整数がある.nビットの2進数を用いて,整数を表現する場合,下図のように最上位のビットbn-1を符号ビットとし,bn-1=0のとき正の整数を表し,bn-1=1のとき負の整数を表す. コンピュータとネットワーク概論 第2章 情報の表現
正と負の整数の固定小数点形式 ●正の整数の場合,単に2進数で表現する. 例:(+5)10を4ビットと8ビットの固定小数点形式で表現すると, ( +5 )10=( 0101 )2( +5 )10=(00000101 )2 ●負の整数の場合,2の補数で表現する. コンピュータとネットワーク概論 第2章 情報の表現
aの2の補数の求め方(反転して,プラス1):aの2の補数の求め方(反転して,プラス1): ● aの各ビットを全て反転する(1→0,0→1). ●それに1を加える. オーバフロー 4ビット ●2の補数の求め方 2の補数とは,nビットの2進数aに対して,nビットの2進数a’ があり,aと a’ の和はオーバフローにより,nビットの数が全部0となる.このとき, aとa’は互いに2の補数という.例えば,4ビットの( 0100 )2の2の補数は( 1100 )2となる. コンピュータとネットワーク概論 第2章 情報の表現
[解答]:まず,8ビットで( 98 )10を2進数に変換する. 次に,( 01100010 )2の2の補数を求める. よって,(-98)10を固定小数点形式で表すと,次のようになる. (-98 )10=( 10011110 )2 【例題2.1】 (-98 )10を8ビットの固定小数点形式で表現せよ. コンピュータとネットワーク概論 第2章 情報の表現
●固定小数点形式の性質 n ビットの固定小数点形式では,表現できる整数の範囲は である.コンピュータは,一般に整数を16ビットで表現している.つまり,表現できる整数の範囲は -32768 ( 215 ) ~32767( 215-1) となる.この範囲を超える場合,ビット数を長くする必要がある.4ビットの場合,表せる範囲は-8~+7である(表2.2を参照) コンピュータとネットワーク概論 第2章 情報の表現
例えば,4ビットを用いて, (7) 10-(5) 10 を 計算する場合,(-5 )10は( 1011 )2となり, (7) 10-(5) 10=(7) 10+(-5) 10=(0111) 2+(1011) 2=(0010) 2のように加算で減算する(オーバフローは巧みに利用される). オーバフロー ●固定小数点形式のメリット コンピュータの基本的な計算機能は加算である.どんな複雑な計算でも加算に変換して計算できる. 固定小数点形式を用いることにより,負の数を2の補数で表現するから,a-b=a+(-b)のように減算を加算で計算することができる. コンピュータとネットワーク概論 第2章 情報の表現
ASCIIコードの2である.表2.4 ●2進化10進数ゾーン形式 10進数の数を下記の対応で4ビットの2進数で表す方法を2進化10進数ゾーン法という. 例: コンピュータとネットワーク概論 第2章 情報の表現
4ビット 4ビット …… 4ビット 4ビット 数字 数字 …… 数字 符号部 例: ●2進化10進数パック形式 10進数の数を下記の対応で4ビットの2進数で表す方法を2進化10進数パック法という. コンピュータとネットワーク概論 第2章 情報の表現
●2進化10進数法の特徴 2進化10進数法は,固定小数点形式に比べて,同じビット数で表現できる整数の範囲は狭い.しかも計算時間もかかる.しかし,10進数の数を2進数で表すには便利である.特に,次に紹介するASCIIコードとなるので,そのまま数値データとして使える. よって,数字の文字列データと数値データの高速変換が可能である. コンピュータとネットワーク概論 第2章 情報の表現
2.3 数値データの表現(実数) コンピュータの世界では,実数を浮動小数点形式で表現する.例えば, 874.345=874345×10-3=8.74345×102 のようになっている.指数の大きさを変えれば,小数点の位置が浮動するから,浮動小数点法と呼ばれている.一般に実数を で表す.aを仮数,bを指数,rを基数という. コンピュータとネットワーク概論 第2章 情報の表現
浮動小数点形式について 一般的に(単精度の場合),実数を下図のように4バイト(32ビット)で表現し,3つの部分に分けられている. ●符号部S: 実数の正負を示す.正:S=0,負:S=1 ●指数部E:正規化した場合の指数部分である. ●仮数部F:正規化した場合の仮数部分である. コンピュータとネットワーク概論 第2章 情報の表現
…… ●正規化について 正規化とは,アメリカのIEEE(電気電子学会)により定められた浮動小数点表示の規格のことである.この規格により,指数部と仮数部を次のように表現する. aiは2進数の数とし,bは8ビットの整数(固定小数点形式)である.IEEE規格では,指数部分E=b + (01111111)2(バイアス表示という)の2進数を記入する.仮数部分Fにa1 a2 a3 a4……amを記入する(左詰め記入,後ろに23ビットまで0で詰める). コンピュータとネットワーク概論 第2章 情報の表現
[解答]:まず,(-111011.101)2を正規化した2進数で表すと,[解答]:まず,(-111011.101)2を正規化した2進数で表すと, となる.負の数であるので,符号部(1ビット)S=1となる.仮数部(23ビット)F=11101110100000000000000で,指数部(8ビット)はE=(00000110)2 + (01111111)2=(10000101)2となる.すなわち,(-111011.101)2は,次のように表現されている. (1100 00101111 0111 0100 0000 0000 0000)2=(C2F74000)16 【例題2.3】 (-111011.101)2をIEEE規格の単精度 浮動小数点形式で表せ. コンピュータとネットワーク概論 第2章 情報の表現
IEEE規格の浮動小数点形式 浮動小数点形式法の性質 コンピュータとネットワーク概論 第2章 情報の表現
2.4 文字データの表現 文字情報(数字,アルファベット,記号,ひらがな,カタカナ,漢字など)をある一定体系に基づく2進数の“0”と“1”で表現したものをコード(code)という. 英数字にはASCIIコードなどがある. 日本語にはJISコード,シフトJISコードとEUCコードなどがある. コンピュータとネットワーク概論 第2章 情報の表現
●ASCII(アスキー)コードについて 英数字は大文字,小文字,記号など全部で100種類を超えない.そこで,8ビット(1バイト)で全ての英数文字が表現できる(28=256種類). ASCIIコードとは,American Standard Code for Information Interchangeの略で,1バイトを使っているが,実際には下図のように7ビットしか使われていない. コンピュータとネットワーク概論 第2章 情報の表現
100 0001 A 「A」は, (1000001)2 =(41)16 「I like computer.」 (49 20 6C 69 6B 65 20 63 6F 6D 70 75 74 65 72 2E)16 スペースは20である. ●ASCIIコード コンピュータとネットワーク概論 第2章 情報の表現
●日本語文字の表現 日本語では,アルファベットと数字以外にひらがな,カタカナと漢字もある.漢字だけでも数千個以上あるため,1バイトでは表現できない.したがって,日本語の文字は2バイト(16ビットを用いて表現する.よって, 216=65,536種類の文字が表現できる. 日本語の文字を表現するコードはJIS(日本工業規格)に規定されている.「JISコード」,「シフトJIS」と「EUC」などが挙げられる.これらは一般に「文字コード」と呼ばれている. コンピュータとネットワーク概論 第2章 情報の表現
●日本語文字コードの構成 文字コードは,実際には「文字集合」と「符号化方式」という要素から成り立っている. 文字集合は,JIS X 0213(区点コードともいう)(11,223個文字) 符号化方式は,JIS X 0202(ISO 2022) コンピュータとネットワーク概論 第2章 情報の表現
●句点コードとJISコードの関係 区点コードでは,漢字の読みの五十音順に配列されている.例えば,「愛」の句点コードは1606(区番号:16,点番号:06)である. コンピュータとネットワーク概論 第2章 情報の表現
●ユニコードについて 最近,Unicode(ユニコードという)がパソコンに導入されている.Unicodeはアメリカのコンピュータ・メーカー連合により作られた16ビットのコードである.Unicodeは,コンピュータの機種に係わらず,すべての文字に独立した番号を与えている.複数の言語,複数の国をカバーすることができる.特にデータを多くの異なるシステムの間に,何の乱れもなしに転送することが可能である. Unicodeは2バイト方式によるもので,65,536文字を割り当てることができる.この中に約2万個の日本語,中国語,韓国語の漢字が含まれる.各国で用いられている漢字コードから重複する文字を統合している. コンピュータとネットワーク概論 第2章 情報の表現
2.5 音声データの表現 音声は右図のようなアナログ信号である.すなわち,時間に対して音声の変化が連続である. コンピュータはアナログ信号が扱えないため,アナログ音声信号をディジタル信号に変換しなければならない. コンピュータとネットワーク概論 第2章 情報の表現
標本化 (サンプリング) 量子化 デジタル化 ●アナログ信号⇒デジタル信号へ コンピュータとネットワーク概論 第2章 情報の表現
●標本化について 1秒間に標本化されたデータの数をサンプリング周波数という.シャノンの理論により,サンプリング周波数が音声の最高周波数の2倍より大きいならば復元できる.サンプリング周波数が高ければ,復元した音声の品質が保持できるが,標本化データも多くなる. 電話品質程度: 11025Hz (1秒間11025個のデータを取る) 中程度の品質: 22050Hz (コンピュータの標準として) 高品質,楽音: 44100Hz (CD, DVDなどに用いる) コンピュータとネットワーク概論 第2章 情報の表現
●量子化とデジタル化について 標本化されたデータをディジタル量にすることを量子化という.また,そのデータを何段階の数値で表現するかを示す値を量子ビット数と呼ぶ. 量子化ビット数が8ビットの場合は,得られた標本化データを0~255の256段階の数値で表現することができる.16ビットになると,0~65535の65536段階で表現するため,8ビットの場合よりも細かい違いを表現できる. 高品質の音楽などをディジタル信号に変換するためには16ビット必要になる. コンピュータとネットワーク概論 第2章 情報の表現
●音声の情報量の計算例 例えば,サンプリング周波数44100Hzでの標本化データを16ビットで量子化する場合は,1秒当たり(簡単に1KB=1000Bとする) 44100(データ/s)×16(bit)=705600(bit/s)/(8×1000)≒88(KB/s) 1時間の音声データは(1MB=1000KBとする) 88(KB/s)×3600(s)≒317(MB) となる.量子化された数値を2進数に変換すれば,ディジタル信号化は完了となる. コンピュータとネットワーク概論 第2章 情報の表現
dot または pixelという 2.6 画像データの表現 画像は右図のようにフレームの中で点の集まりで構成される.この点のことを画素,ドット(dot)またはピクセル(pixel)という. 右図は16×16(256)個の画素からなる.1インチの長さに存在する画素数を解像度といい,dpi(dpi=dots per inch)またはppi(ppi=pixels per inch)で表される.この値が大きいほど画質が良くなる. コンピュータとネットワーク概論 第2章 情報の表現
画像はドットからなる ●画像の構成 コンピュータとネットワーク概論 第2章 情報の表現
388551 R:72G132B:81 ? ●三原色の表現 フルカラー画像のドット(画素)の色は,三原色の赤(red),緑(green)と青(blue)の濃淡を組み合わせて表示されている.これを,RGB表示という.各画素の色は,それぞれの濃さを8ビットで256の諧調で表し,0のときは一番薄い,255のときは一番濃いということになる.つまり,各色の濃さは2桁の16進数で (r1r2g1g2b1b2)16で指定される. コンピュータとネットワーク概論 第2章 情報の表現
●画像の情報量と計算例 1色につき8ビットであるので,1つのドット(画素)の色を表現するのに3×8=24ビット(3バイト)のデータが必要となる.24ビットで各画素につき,約1677万色が表現できる. 画素数1024×768(横×縦)ドットの画像について,各画素を24ビットで表すとすると,1枚の静止画像のデータ量は 1024×768×24=18,874,368(bit)≒2.3 MB となる. コンピュータとネットワーク概論 第2章 情報の表現
768ドット 17インチ 1024ドット ●解像度の計算例 画素数1024×768(横×縦)ドットの画像を17インチのコンピュータ画面で表すと,解像度は次のように求められる. 対角線上の1インチに当たるドットが求められるので,この画面の解像度は 解像度= ≒75dpi dpi: dots per inch(1インチに当たるドット数) コンピュータとネットワーク概論 第2章 情報の表現
●動画の情報量と計算例 動画の場合は,1秒間に24枚(フレームという)以上の画像をスライドショーのようにすると連続の動画に見える.動画にすると,データ量がさらに大きくなる.例えば,1024×768ドットの画像を1秒間30枚(コンピュータの規格)用いる動画では,1秒間に, 2.3 MB(bit/frame)×30(frame/s)≒ 69(MB/s) のデータが必要になる.1時間の動画データなら, 69(MB/s)×3600(s)≒ 248 GB となる. コンピュータとネットワーク概論 第2章 情報の表現
第2章のまとめ 1.コンピュータには2進数が使われている. ●2進数と10進数の変換 ●2進数と8進数,16進数の関係 2.数値データの表現 ●整数の表現法には,固定小数点形式法, 2進化10進数ゾーン形式法と2進化10進数パック形式法がある. ●実数の表現法には,浮動小数点法がある.浮動小数点法は符号部,指数部と仮数部からなる. コンピュータとネットワーク概論 第2章 情報の表現