第 第第第第第第第第 3: 2 第第第第第 2014 第 4 第 21 第 第第第第第
Jan 01, 2016
第3回情報科学概論: 2 値論理計算
2014 年 4 月 21 日田中美栄子
今回の目標
2 値情報を扱う基本となる理論(ブール代数)
から
アーキテクチャ(ハードウェアの実現)へ
10 進数・ 16 進数・ 2 進数 復習
64
65
66
67
68
69
41
42
43
44
45
1010
1011
1100
1101
1110
1111
70
71
72
73
74
75
10001
10010
10011
10100
10101
1000046
47
48
49
50
51
40
符号化の話
• ASCII 符号 American Standard Code for Information Interchange
2進表示8進表示16進表示10進表示文字ビット組合せ
10000011014165A4/1
ASCII コード
ASCII( American standard code for information interchange)
コンピュータその他の通信機器において最も
よく使われている文字コード
ASCII コード
10進 16進 文字
0 0x00 NUL( null 文字 )
1 0x01SOH (ヘッダ開始)
2 0x02STX (テキスト開始)
3 0x03ETX (テキスト終了)
4 0x04 EOT(転送終了)
32 0x20 (スペース)
33 0x21 !
34 0x22 "
35 0x23 #
36 0x24 $
37 0x25 %
10進
16進 文字
65 0x41 A
66 0x42 B
67 0x43 C
68 0x44 D
69 0x45 E
70 0x46 F
71 0x47 G
「 ABC 」3文字はコンピュータ内部では(41 42 43) 16
「 123 」3文字は、 (31 32 33) 16
と表現さ れる。 • ASCII コード表で、 16 進で 00 から 1F
と 7F は、普通の文字ではなく、制御文字(control character, 制御コード )
• 0D (CR, Carriage Return) 復 帰 ( リ タ ーン )
漢字コード• JIS31 32 33 1B 24 42 34 41 3B 7A 1B 40 66 34 35
36 : 1 2 3 ESC $ B 漢 字 ESC ( J D E F
• EUC 31 32 33 B4 C1 BB FA 34 35 36 A B C 漢 字 D E F• SJIS 31 32 33 8A BF 8E 9A 34 35 36 A B C 漢 字 D E F
• 英語圏の文字コードは1 Byte 言語– 1bit はパリティービットに使用する ( 誤り検
出用 )– 7bit で 128 種を扱う
• 日本語・中国語・ハングルは2 Byte 言語– 65536 種類の表記が可能– JIS X 0208 では記号も入れて 6879 文字を規
定
• つまり、ノイマン式コンピュータはいろいろな情報を 2 進数で記憶し、それらの演算をやっているだけなのである
• 演算は単純化される• 入力→演算→出力 を自動的に行う素子
で回路を組み立てる(論理回路)• すると、コンピュータができる
ブール代数: Boolean Algebra
• Boole さんの作った論理数学• 論理変数を扱う
– (真 / 偽の 2 値:1と 0 で代用する)• 基本演算は
①AND ② OR ③ NOT A B
A B
A B
• 論理演算の機能を持つ論理素子を使って,論理関数を回路で表現したものが論理回路
• ノイマン・コンピュータは基本的に論理回路で構成
①
②
③
基本論理演算• 論理積(乗法 AND ) x ・ y
– 2 変数がともに 1 の時,論理積は 1– 2 変数のいずれかが 0 の時,論理積は 0
• 論理和(加法 OR ) x+y– 2 変数のいずれかが 1 の時,論理和は 1– 2 変数がともに 0 の時,論理和は 0
• 論理否定(否定 NOT ) x– 変数が 0 の時,論理否定は 1– 変数が 1 の時,論理否定は 0
x y x+y
0 0 0
0 1 1
1 0 1
1 1 1
x x
0 1
1 0
x y x ・ y
0 0 0
0 1 0
1 0 0
1 1 1
演算の優先順位は,否定,乗法,加法の順
真理値表論理変数の値とそれに対する論理関数の値の関係の表
x y x ・ y x+y x
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
(x+y) ・ (x+y) ・ x
複雑な論理演算も
組み合わせていけば
答えを求められる
ブール代数の定理
名称 AND形式 OR形式単位元則 x ・ 1=x x+0=x
零元則 x ・ 0=0 x+1=1
べき等則 x ・ x=x x+x=x
補元則 x ・ x=0 x+x=1
交換則 x ・ y=y ・ x x+y=y+x
結合則 (x ・ y) ・ z=x ・ (y ・z)
(x+y)+z=x+(y+z)
分配則 x+y ・ z=(x+y) ・(x+z)
x ・ (y+z)=x ・y+x ・ z
吸収則 x ・ (x+y)=x x+x ・ y=x
ド モルガン則・ x ・ y=x+y x+y=x ・ y
例題 1
分配則 x+y ・ z=(x+y) ・ (x+z) を真理値表で確かめよ
x y z y ・ z x+y x+z (x+y) ・ (x+z) x+y ・z
00001111
00110011
01010101
00010001
00111111
01011111
00011111
00011111
論理式の作り方
• 入力のすべての組み合わせのうち,出力が 1のものだけについて,入力が 1 のものはそのまま, 0 なら否定したものの積の式を書く.この式を最小項という.
• 最小項の論理和が求める論理式である.
すべての論理関数は,真理値表,論理式で表現できる.
論理式を回路で構成したものが論理回路(論理式と 1対 1 対応)
主加法標準形 or 積和標準形
例題 2
3 入力のうち,多数が 1 の時出力 1 となり,多数が 0 の時出力 0 となる多数決論理の論理式を書け
x y z f
00001111
00110011
01010101
00010111 x ・ y ・ z
x ・ y ・ z
x ・ y ・ z
x ・ y ・ z
f = x ・ y ・ z + x ・ y ・ z + x ・ y ・ z + x ・ y ・ z
演習問題
• 吸収則 x ・ (x+y)=x, x+x ・ y=x を真理値表で確かめよ
• 2 入力の比較器 (2 入力が同じなら 1 ,異なるなら 0 を出力 ) の真理値表と論理式を書け
演習問題 1
吸収則 x ・ (x+y)=x, x+x ・ y=x を真理値表で確かめよ
x y x+y x ・ (x+y) x ・ y x+x ・ y
0011
0101
0111
0011
0001
0011
演習問題 2
2 入力の比較器 (2 入力が同じなら 1 ,異なるなら 0 を出力 ) の真理値表と論理式を書け
x y f
0011
0101
1001
f = x ・ y+ x ・ y
x ・ y
x ・ y
x yx ・y
x ・y
x ・ y+ x ・y
f
0011
0101
1000
0001
1001
1001