2015/4/24 情報技術 ~情報の表現2~ 2015年4月23日 笠井俊信 今回の目標 コンピュータにおける情報の表現の基礎である 2進数,16進数による数の表現方法,演算方法 について理解する. コンピュータ内部での文字の表現方法につい て理解する. 1 2015/4/24 先週の内容(確認) ① (11001101)2を10進数にしなさい ② (486)10, (1000)10を2進数にしなさい ③ (1A3C)16を2進数,10進数にしなさい 2進数の四則演算 加算 0+0=0 0+1=1 1+0=1 1+1=10 (桁上げ) 10110011 +01100110 10 00 1100 1 2 2015/4/24 2進数の四則演算 減算 0-0=0 0-1=-1 (借り) 1-0=1 1-1=0 10110011 -01100110 10 0110 1 2進数による負の数の表現 • 一定の長さのビット列で負の数を表す方法 ビット:2進数の1桁,バイト:8ビット (コンピュータでは,扱う情報によって何バイトを用いるか決まっている) – 符号と絶対値を使う – かさあげ表現 – 補数表現(2の補数) • 減算を加算と同じ方法で行える 3 2015/4/24 2の補数表現法 • 2の補数とは,表現したい数値(絶対値)と 加算した結果,桁上がりが生じる数値 – nビットで –2 n-1から +(2 n-1-1)まで表現可能 – 4ビットの時 –2 は1110 負の符号 求め方 1. 表現したい数値の各桁を1から引く. 2. その数値に1を加える. 2の補数の求め方(例) (5)10=(0101)2の2の補数(4ビットの場合) 1. 元の数値の各桁を1から引く 1111 - 0101 1010 各桁の0と1を反転させるだけ 2. その数値に1を加える 1010 + 0001 1011 4 2015/4/24 2の補数を使った減算1 コンピュータの内部では減算は2の補数の加算 として計算される 例:(94)10-(19)10 (94)10=(01011110)2,(19)10=(00010011)2 (19)10の2の補数は, (11101101)2 (01011110)2+(11101101)2= (101001011)2 (01001011)2 64+8+2+1=(75)10 2の補数を使った減算2 例:(19)10-(94)10 (19)10=(00010011)2, (94)10=(01011110)2 (94)10の2の補数は,(10100010)2 (00010011)2+(10100010)2= (10110101)2 (10110101)2の2の補数は,(01001011)2 64+8+2+1=(75)10 5 2015/4/24 補足説明 2の補数表現を使うとなぜ減算が加算と同じに 扱えるか? a – b (a , b > 0) bを2の補数表現で表すと・・・ 8 a と bの2の補数を加算する 8 a >= bの時: a + (2 – b) = a – b + 2 28 – b a + (2 – b) 8 ・・・9桁目の1を削除 a < b の時: a + (28 – b) = 2 8– (b – a) ・・・|a – b|の2の補数 a – b の絶対値=b – a 演習問題 ① (-120)10と(-55)10を,2の補数表現で表せ ② 2の補数を用いて次の計算をし,その解が 正しいかどうか10進数に直して確かめよ ① (102)10-(95)10 ② (95)10-(102)10 ※ 8ビットで 6 2015/4/24 演習問題・解答① ① (-120)10と(-55)10を,2の補数表現で表せ (120)10=(01111000)2 (-120)10=(10000111)2+(00000001)2=(10001000)2 (55)10=(00110111)2 (-55)10=(11001000)2+(00000001)2=(11001001)2 演習問題・解答② ② 2の補数を用いて次の計算をし,その解が 正しいかどうか10進数に直して確かめよ ① (102)10-(95)10 (102)10=(01100110)2, (95)10=(01011111)2 (-95)10=(10100001)2 (102)10-(95)10=(01100110)2+(10100001)2 =(100000111)2 (00000111)2=(7)10 7 2015/4/24 演習問題・解答③ ② 2の補数を用いて次の計算をし,その解が 正しいかどうか10進数に直して確かめよ ② (95)10-(102)10 (102)10=(01100110)2, (95)10=(01011111)2 (-102)10=(10011010)2 (95)10-(102)10=(01011111)2+(10011010)2 =(11111001)2 (11111001)2=-(00000111)2=(-7)10 文字の表現 • コンピュータ内部では文字や記号も2進数 で表す. • ある情報をどんな2進数のビット列で表す かの取り決めをコードという. • 世界:ASCIIコード(1バイト) • 日本:JIS,シフトJIS,EUC(2バイト) 8 2015/4/24 文字コードの扱い コンピュータ内部 ディスプレイ 解釈 文字 (41)16 A データ型 65 整数 利用例:大文字と小文字の変換 大文字 T (84)10 +32 ‘a’ - ‘A’ 小文字 t (116)10 9
© Copyright 2024 ExpyDoc