授業展開#4

25
授授授授#4 授授授授#4 授授授授授授授授授授 授授授授授授授授授授

description

授業展開#4. 2進数世界の数値と文字. 表現のレベル. 論理表現:0か1 実装表現:スイッチのオン・オフ リレー、真空管、トランジスタ. 自然数の表現. 自然数:ここでは0以上の整数。 自然数を0と1で表すために2進記法の表現を使う. たとえば、8ビット固定長で整数を表すとする。 10 進  59  = 32 + 16 + 8 + 2 + 1 = 2進  00111011 - PowerPoint PPT Presentation

Transcript of 授業展開#4

授業展開#4授業展開#4

2進数世界の数値と文字2進数世界の数値と文字

表現のレベル表現のレベル 論理表現:0か1論理表現:0か1 実装表現:スイッチのオン・オフ実装表現:スイッチのオン・オフ リレー、真空管、トランジスタ リレー、真空管、トランジスタ

自然数の表現自然数の表現 自然数:ここでは0以上の整数。自然数:ここでは0以上の整数。 自然数を0と1で表すために2進記法の自然数を0と1で表すために2進記法の

表現を使う表現を使うたとえば、8ビット固定長で整数を表すとする。たとえば、8ビット固定長で整数を表すとする。

   1010 進 進  5959  = 32 = 32 ++ 1616 ++ 88 ++ 22 ++ 1 = 2進 1 = 2進 0011101100111011   

  2進 10111010 = 12進 10111010 = 1 ×× 2277+0+0 ×× 2266+1+1 ××2255+1+1 ×× 2244+1+1 ×× 2233+0+0 ×× 2222+1+1 ×× 2211+0+0 ×× 2200

=128+32+16+8+2=10進 186=128+32+16+8+2=10進 186最大値 2進 11111111=128+64+32最大値 2進 11111111=128+64+32+16+8+4+2+1+16+8+4+2+1=10進 255(2=10進 255(288-1)-1)

2進数の桁の扱い2進数の桁の扱いMSBMSB (( Most Significant BitMost Significant Bit )2進表現のとき最上位の桁)2進表現のとき最上位の桁LSBLSB (( Least Significant BitLeast Significant Bit )2進表現のとき最下位の桁)2進表現のとき最下位の桁

             MSBMSB                                             LSBLSB

BitBit 番号  7  6   5   4   3   2   1 番号  7  6   5   4   3   2   1   0  0

88 bitbit 列  x列  x77   x   x66   x   x55   x   x44   x   x33  x  x22   x   x11

  x  x00

xx ii == 0,10,1

自然数の加算 自然数の加算

xx yy ss cc

00 00 00 00

00 11 11 00

11 00 11 00

11 11 00 11

上記関数表を真理値表ともいう

1桁めの2つの数x1桁めの2つの数x11、y、y11の和を求め、下からの繰りの和を求め、下からの繰り上がりc上がりc ii を考慮して、を考慮して、 ii 桁めの数x桁めの数x ii 、、yy ii の和の和を求めを求める。る。 xx yy ccii ssii cci+1i+1

00 00 00 00 00

00 00 11 11 00

00 11 00 11 00

00 11 11 00 11

11 00 00 11 00

11 00 11 00 11

11 11 00 00 11

11 11 11 11 11

整数の表現と計算整数の表現と計算 正負の符号正負の符号ととを、を、 00 とと 11 に対応させる必要に対応させる必要 最も左端のビット(最も左端のビット( MSBMSB )で正負の符号を表す。)で正負の符号を表す。      MSB MSB がが 0 0 のときのときとととととととととととととと   →    → 127127 ~ ~ 127127 の範囲の数字が表せる。の範囲の数字が表せる。

計算が複雑計算が複雑 加える2つの数が同符号→絶対値の和にその符号をつける加える2つの数が同符号→絶対値の和にその符号をつける 加える2つの数が異符号→絶対値の差に絶対値の大きいほう加える2つの数が異符号→絶対値の差に絶対値の大きいほう

の符号をつけるの符号をつける        

バイアス表現バイアス表現 バイアス表現:数値の並ぶ順序と大きさの順序バイアス表現:数値の並ぶ順序と大きさの順序

を一致させる。xを一致させる。x +127+127 をxとする表現。をxとする表現。 127127 ~ ~ 128128 の範囲の数字が表せる。の範囲の数字が表せる。 加法では、バイアス分を減じる必要。加法では、バイアス分を減じる必要。

1010 進進 さっきの表現さっきの表現 x+127x+127 バイアス表現バイアス表現

-127-127 1111111111111111 00 0000000000000000

-2-2 1000001010000010 125125 0111110101111101

-1-1 1000000110000001 126126 0111111001111110

00 00000000 or 1000000000000000 or 10000000 127127 0111111101111111

11 0000000100000001 128128 1000000010000000

22 0000001100000011 129129 1000000110000001

127127 0111111101111111 254254 1111111011111110

128128 -- 255255 1111111111111111

補数表現補数表現 1の補数表現:正の数と0は通常の2進数表現、負の数は、1の補数表現:正の数と0は通常の2進数表現、負の数は、

その絶対値の同じ正の数の0と1を書き換えたもの。その絶対値の同じ正の数の0と1を書き換えたもの。 10進  10進 56 = 256 = 2 進 進 0011100000111000 10進  10進 -56 = 2-56 = 2 進 進 1100011111000111   正の領域、負の領域で数の順序は保存   正の領域、負の領域で数の順序は保存   加算も桁あふれを考慮すると簡単   加算も桁あふれを考慮すると簡単 2の補数表現:負の数を表す1の補数表現に1を加えたも2の補数表現:負の数を表す1の補数表現に1を加えたも

の。の。        128128 ~ ~ 127127 の範囲の数字が表せる。の範囲の数字が表せる。  加算も簡単  加算も簡単

    

22 進進 自然数自然数 最初の表現最初の表現 バイアス表現バイアス表現 1の補数表現1の補数表現 2の補数表現2の補数表現

000000 00 00 -3-3 00 00

001001 11 11 -2-2 11 11

010010 22 22 -1-1 22 22

011011 33 33 00 33 33

100100 44 -0-0 11 -3-3 -4-4101101 55 -1-1 22 -2-2 -3-3110110 66 -2-2 33 -1-1 -2-2111111 77 -3-3 44 -0-0 -1-1

     整数の表現(3ビット)整数の表現(3ビット)

情報の表現とデータ型情報の表現とデータ型実数表現:数字で表したとき小数点を含むよ実数表現:数字で表したとき小数点を含むよ

うな数値を実数という。うな数値を実数という。10進10進 7.3757.375  = 2進 = 2進 111.011111.011

2進2進 101.1101101.1101

=1=1 ×× 2222+0+0 ×× 2211+1+1 ×× 2200+1+1 ×× 22-1-1

+1+1 ×× 22-2-2+0+0 ×× 22-3-3+1+1 ×× 22-4-4

 =4+1+ =4+1+ 0.50.5 ++ 0.250.25 ++ 0.06250.0625 =10進 =10進 5.81255.8125

情報の表現とデータ型情報の表現とデータ型必ずしも完全対応ではなく、近似値にしかならな必ずしも完全対応ではなく、近似値にしかならな

いこともある。いこともある。10進10進 6.66.6 =2進=2進 110.100100100110.100100100 ・・・・・・・・10進10進 15.33315.333 ・・・=3進・・・=3進 120.1120.1

固定小数点表現:固定小数点表現: 5.0255.025浮動小数点表現:浮動小数点表現: 1.025×101.025×10 -5-5

ここで「ここで「 1.0251.025 」:仮数、「」:仮数、「 1010 」:基数、」:基数、「-5」:指数「-5」:指数

コード(符号)コード(符号) あるデータ、あるいは情報を基準となるあるデータ、あるいは情報を基準となる

記号の列、記号列で表したものを、その記号の列、記号列で表したものを、そのデータの符号またはコードといい、符号データの符号またはコードといい、符号に変換することを符号化、に変換することを符号化、エンコードエンコード(( encodeencode ))という。逆に、符号を元のという。逆に、符号を元の記号に戻すことを復号(化)または記号に戻すことを復号(化)またはデコデコードード (decode)(decode) という。という。

コンピュータ:すべての情報を0、1のコンピュータ:すべての情報を0、1のビット列からなる符号で表す。ビット列からなる符号で表す。

文字コード文字コード文字コード:文字列を符号化したもの。文字コード:文字列を符号化したもの。

英字のコード:アスキーと呼ばれる8ビット=1バイト英字のコード:アスキーと呼ばれる8ビット=1バイトコード。コード。

日本語文字は1バイトでは256字種しか使用できない日本語文字は1バイトでは256字種しか使用できないので、ので、 JISJIS (( Japanese Industrial StandardJapanese Industrial Standard 、日本工、日本工業規格)では、1バイトコードとしては、カタカナ、数業規格)では、1バイトコードとしては、カタカナ、数字と英字の大文字を割り当てている。字と英字の大文字を割り当てている。

通常の日本語文字としては、かな文字や漢字も使えるよ通常の日本語文字としては、かな文字や漢字も使えるようにするため、うにするため、 JISJIS では2バイト=16ビットコードをでは2バイト=16ビットコードを設定して定義している。設定して定義している。

1バイトコードと2バイトコードの混在の問題や、日本1バイトコードと2バイトコードの混在の問題や、日本語コードの規格の乱立などいろいろと問題がある。(旧語コードの規格の乱立などいろいろと問題がある。(旧JISJIS 、新、新 JISJIS 、、 EUCEUC 、、 DECDEC ))

JISコード表現JISコード表現  0 1 2 3 4 5 6 7 8 9 A B C D E F

0 NUL DLE (SP) 0 @ P ` p       ー タ ミ    

1 SOH DC1 ! 1 A Q a q     。 ア チ ム    

2 STX DC2 ” 2 B R b r     「 イ ツ メ    

3 ETX DC3 # 3 C S c s     」 ウ テ モ    

4 EOT DC4 $ 4 D T s t       エ ト ヤ    

5 ENQ NAK % 5 E U e u     ・ オ ナ ユ    

6 ACK SYN & 6 F V f v     ヲ カ ニ ヨ    

7 BEL ETB ’ 7 G W g w     ァ キ ヌ ラ    

8 BS CAN ( 8 H X h x     ィ ク ネ リ    

9 HT EM ) 9 I Y i y     ゥ ケ ノ ル    

A LF SUB * : J Z j z     ェ コ ハ レ    

B VT ESC + ; K [ k {     ォ サ ヒ ロ    

C FF FS , < L ¥ l |     ャ シ フ ワ    

D CR GS - = M ] m }     ュ ス ヘ ン    

E SO RS . > N ^ n  ̄     ョ セ ホ ゛    

F SI US / ? O _ o DEL     ッ ソ マ ゜    

上位ビット

下位ビッ

数字「5」=上位3+下位5→0011+0101→00110101文字「ア」=上位B+下位1→1011+0001→10110001

16進数表現16進数表現 0~9まで進んだ後、A,B,C,D,0~9まで進んだ後、A,B,C,D,

E,Fとして繰り上がる記数法。E,Fとして繰り上がる記数法。 16進数表現1つで2進数4ビットと対16進数表現1つで2進数4ビットと対

応できる。応できる。

(1)(1) 1010 =(0001)=(0001)22=(1)=(1)1616

(( 11 5)5) 1010 =(1111)=(1111)22=(F)=(F)1616

JIS漢字コード表JIS漢字コード表

  第2バイト  21 22 23 24 25 26 27 28 29 2A 2B 2C 2D

第 21   、 。 , . ・ : ; ? ! ゛ ゜ ´1 22 ◆ □ ■ △ ▲ ▽ ▼ ※ 〒 → ← ↑ ↓ バ 23                          イ 24 ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ト 25 ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ

  30 亜 唖 娃 阿 哀 愛 挨 姶 逢 葵 茜 穐 悪   31 院 陰 隠 韻 吋 右 宇 烏 羽 迂 雨 卯 鵜   32 押 旺 横 欧 殴 王 翁 襖 鴬 鴎 黄 岡 沖

0と1の世界の構成0と1の世界の構成 電気での表現電気での表現 0:オフ、1:オン0:オフ、1:オン (正理論の対応、逆は負理論の対応)(正理論の対応、逆は負理論の対応)

基本基本• OR(論理和、選言)OR(論理和、選言)• AND(論理積、連言)AND(論理積、連言)• NOT(補、否定)NOT(補、否定)

OR,AND、NOTの真理値OR,AND、NOTの真理値表 表

xx yy x OR x OR yy

x AND x AND yy

00001111

00110011

00111111

00000011

xx NOT xNOT x

0011

1100

ブール代数:0、1からなる世界で論理演算を対象に系統的に数学的に組み上げた体系

論理演算回路論理演算回路

OR

X Y1

AND

NOT

OR AND NOT

基本論理演算回路

MIL (Military Standard) 記号表現

XY

XY X

回路の合成回路の合成

((x AND y) OR (NOT z))

OR

AND

NOT

xy

z

x y z ((x AND y) OR (NOT z))

00 00 00

00 00 11

00 11 00

00 11 11

11 00 00

11 00 11

11 11 00

11 11 11

11

00

11

00

11

00

11

11

演習演習

①① 以下の2進数を10進数に、10進数を以下の2進数を10進数に、10進数を2進数に変換せよ。2進数に変換せよ。

  (1010101)  (1010101)22==  (100)  (100)10==

② 次の真理値表を完成せよ。x y z x and (y or

z)x or (not y)

0011

0101

1100

真理値表 1

x y z y or z

x and (y or z)

0011

0101

1100

1101

0001

真理値表 2

x y not y x or (not y)

0011

0101

1010

1011

PC演習PC演習

BASICBASIC のインストールと動作確認のインストールと動作確認Mac で動く Basic  Chipmunk Basic  http://www.nicholson.com/rhn/basic/

次週(10/30)小テスト次週(10/30)小テスト 電卓、筆記用具、直筆ノート 電卓、筆記用具、直筆ノート

BasicBasic 演習演習1.テキストエディターで新規ファイルを作成1.テキストエディターで新規ファイルを作成2.1行目に 2.1行目に  INPUT A,BINPUT A,B  2行目に   2行目に  C=A*BC=A*B  3行目に   3行目に  PRINT CPRINT C  4行目に   4行目に  ENDEND  を入力  を入力3.ファイルを3.ファイルを input.txtinput.txt のファイル名で保存のファイル名で保存4.4. ChipmunChipmun k k  BasicBasic  を起動 を起動5.5. File Open File Open でで input.txtinput.txt を読み込む。を読み込む。6.6. ControlControl    run run でソフトを走らせる。でソフトを走らせる。7.?に好きな数字2つを入力すると、積が出力される。7.?に好きな数字2つを入力すると、積が出力される。