SlideShare a Scribd company logo
東北大学 工学部 機械知能・航空工学科
2016年度 5セメスター・クラスC3 D1 D2 D3
計算機工学
大学院情報科学研究科
鏡 慎吾
http://www.ic.is.tohoku.ac.jp/~swk/lecture/
4. 論理値と論理演算
(教科書2.1節,2.4節)
2鏡 慎吾 (東北大学): 計算機工学 2016 (4)
内容
• 論理演算
• 論理値 0 と 1
• 論理演算 AND, OR, NOT
• よく使う他の論理演算 NAND, NOR, XOR
• 論理ゲート回路
• ビットごと論理演算
3鏡 慎吾 (東北大学): 計算機工学 2016 (4)
論理値と論理演算
論理値
• 「3 は 4 より小さい」は真 (true): 数値 1 で表す
• 「カエルは哺乳動物である」は偽 (false): 数値 0 で表す
論理演算:
• 論理積 (AND):
• 論理和 (OR):
• 論理否定 (NOT):
あるいは単に
他の記法:
他の記法:
他の記法:
4鏡 慎吾 (東北大学): 計算機工学 2016 (4)
真理値表とゲート記号
A B A・B
0 0 0
0 1 0
1 0 0
1 1 1
A
B
A・B
A B A+B
0 0 0
0 1 1
1 0 1
1 1 1
A A
0 1
1 0
A
B
A+B A A
真理値表
ゲート記号
5鏡 慎吾 (東北大学): 計算機工学 2016 (4)
よく使う他の論理演算
否定論理積
(NAND)
A B A・B
0 0 1
0 1 1
1 0 1
1 1 0
否定論理和
(NOR)
A B A+B
0 0 1
0 1 0
1 0 0
1 1 0
A
B
A・B A
B
A+B
排他的論理和
(eXclusive OR)
(XOR)
A B A © B
0 0 0
0 1 1
1 0 1
1 1 0
A
B
A © B
•片方だけ 1 のときに限って1
•つまり入力が相異なるときに1
6鏡 慎吾 (東北大学): 計算機工学 2016 (4)
多入力AND, 多入力OR
A
B
C
A・B・C
A+B+C
A
B
C
A
B
C
A
B
C
• 論理積も論理和も,交換則 (AB = BA, A+B = B+A) と結合
則 ((AB)C = A(BC), (A+B)+C = A+(B+C)) が成り立つ.
• 入力の順序に関係なく,
•多入力ANDは入力が一つでも 0 なら 0
•多入力 OR は入力が一つでも 1 なら 1
• NAND,NOR も同様
7鏡 慎吾 (東北大学): 計算機工学 2016 (4)
多入力XOR
A
B
C
A
B
C
A © B © C
• X © 1 = X
• X © 0 = X
• A, B, C, ... と順に見ていって,入力に 1 が現れる度に出力は
反転する
• 結局,多入力 XOR は,入力のうち 1 の数が奇数なら 1に,
偶数なら 0 になる
8鏡 慎吾 (東北大学): 計算機工学 2016 (4)
NOTゲート の回路 (インバータ)
0 1
VDD (電源電圧)
GND (0V)
low
on
off
high high
off
on
low
1 0
CMOS技術 (Complementary MOS):
NMOS と PMOS を常に対にして使う (低消費電力)
9鏡 慎吾 (東北大学): 計算機工学 2016 (4)
NAND, NORゲートの回路
A
B
A・B
A
B
A+B
•AND, OR は NAND, NOR, NOT から作れる
•XOR は AND, OR, NOT から作れる
10鏡 慎吾 (東北大学): 計算機工学 2016 (4)
プログラミングで使う論理演算
if (x > 20 && x < 80) {
...
}
if (a < 0 || b < 0) {
...
}
if (!isalpha(c)) {
...
}
C言語では,比較演算子 (>,
>=, <, <=, ==, !=) は真のとき
整数 1 を,偽のとき整数 0 を
返す.
演算子 &&, ||, ! が,論理積,
論理和,論理否定を行う.
if や while などの条件部は,
0 を偽,0 以外を真とみなして
判定する.
11鏡 慎吾 (東北大学): 計算機工学 2016 (4)
ビットごと論理演算
C言語の演算子 &, |, ~,^ などは,&&, ||, ! とは異なりビットごとの
論理演算を行う
a = 0x1234; // 0001 0010 0011 0100
b = 0xcafe; // 1100 1010 1111 1110
c = a & b; // 0000 0010 0011 0100 (AND)
c = a | b; // 1101 1010 1111 1110 (OR)
c = ~a; // 1110 1101 1100 1011 (NOT)
c = a ^ b; // 1101 1000 1100 1010 (XOR)
任意のビットは
• 1 との OR を取ると 1になる; 0 との OR は元のまま不変
• 0 との AND を取ると 0 になる; 1 との AND は元のまま不変
• 1 との XOR を取ると反転する; 0 との XOR は元のまま不変
などを利用して,ビットごとの操作ができる
12鏡 慎吾 (東北大学): 計算機工学 2016 (4)
例題
ファミリーコンピュータ用ゲーム「ドラゴンクエストIV 導
かれし者たち」((株) エニックス, 1990年) では,敵との
戦闘中に「にげる」操作を8 回行うと,それ以降,敵へ
のすべての攻撃が強力なものとなる(会心の一撃と呼
ばれる) 現象が生じた.内部でどのような処理が行わ
れていたか推測して述べよ.
(2010年度 期末試験)
14鏡 慎吾 (東北大学): 計算機工学 2016 (4)
例題 解答例
ドラゴンクエストIV (エニックス) の戦闘状態を保持するメモリ
領域の一部は,以下のような構成だったと推測されている:
霧フラ
グ
? ? ? 会心フ
ラグ
「にげる」コマンドカウンタ
7 6 5 4 3 2 1 0
critical_hit_bit = 1 << 3; // 0000 1000
fog_bit = 1 << 7; // 1000 0000
status = status | critical_hit_bit; // 会心の一撃ON
status = status & ~critical_hit_bit; // 会心の一撃OFF
status = status ^ fog_bit; // 霧状態を反転
if (status & fog_bit) {
// 霧状態ならこの処理を実行
}
15鏡 慎吾 (東北大学): 計算機工学 2016 (4)
練習問題
1. 16ビットの値 x が与えられたとき,上位 12 ビットと下位 4 ビッ
トを入れ替えた結果を変数 y に得る処理を,シフト演算とビッ
トごと論理演算の組合せで実現せよ.(このような処理は「4
ビット右ローテート」と呼ばれる)
2. 16ビットの値が与えられたとき,下位から 7 ビット目(ただし
LSB を1 ビット目と数えることにする)の値を変数 y に得る処
理を,シフト演算とビットごと論理演算の組合せで実現せよ.
(if 文などは使わない)
16鏡 慎吾 (東北大学): 計算機工学 2016 (4)
練習問題 解答例
C言語であれば,以下のような処理で実現できる.
1.
2.
unsigned short x, y;
...
y = (x << 12) | (x >> 4);
y = (x & (1 << 6)) >> 6;

More Related Content

What's hot

kagami_comput2016_13
kagami_comput2016_13kagami_comput2016_13
kagami_comput2016_13
swkagami
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
swkagami
 
kagami_comput2016_07
kagami_comput2016_07kagami_comput2016_07
kagami_comput2016_07
swkagami
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
swkagami
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701
swkagami
 
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03
swkagami
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
swkagami
 
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702
swkagami
 
kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8swkagami
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
swkagami
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
swkagami
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703
swkagami
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6swkagami
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809
swkagami
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
swkagami
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
swkagami
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810
swkagami
 
kagami_comput2015_2
kagami_comput2015_2kagami_comput2015_2
kagami_comput2015_2swkagami
 
会津合宿2015Day3:D問題
会津合宿2015Day3:D問題会津合宿2015Day3:D問題
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
京大 マイコンクラブ
 

What's hot (20)

kagami_comput2016_13
kagami_comput2016_13kagami_comput2016_13
kagami_comput2016_13
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
 
kagami_comput2016_07
kagami_comput2016_07kagami_comput2016_07
kagami_comput2016_07
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701
 
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
 
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702
 
kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810
 
kagami_comput2015_2
kagami_comput2015_2kagami_comput2015_2
kagami_comput2015_2
 
会津合宿2015Day3:D問題
会津合宿2015Day3:D問題会津合宿2015Day3:D問題
会津合宿2015Day3:D問題
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 

Viewers also liked

kagami_comput2015_12
kagami_comput2015_12kagami_comput2015_12
kagami_comput2015_12swkagami
 
kagami_comput2015_13
kagami_comput2015_13kagami_comput2015_13
kagami_comput2015_13swkagami
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14swkagami
 
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11swkagami
 
kagami_comput2015_10
kagami_comput2015_10kagami_comput2015_10
kagami_comput2015_10swkagami
 
kagami_comput2016_12
kagami_comput2016_12kagami_comput2016_12
kagami_comput2016_12
swkagami
 
kagami_comput2016_09
kagami_comput2016_09kagami_comput2016_09
kagami_comput2016_09
swkagami
 
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08
swkagami
 
HTML5クイズ!
HTML5クイズ!HTML5クイズ!
HTML5クイズ!
yoshikawa_t
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
Shingo Inoue
 
フレッシュマンセミナー20060614
フレッシュマンセミナー20060614フレッシュマンセミナー20060614
フレッシュマンセミナー20060614
Takeo Kunishima
 
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4swkagami
 
kagami_comput2016_10
kagami_comput2016_10kagami_comput2016_10
kagami_comput2016_10
swkagami
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
Yossy Taka
 
kagami_comput2016_11
kagami_comput2016_11kagami_comput2016_11
kagami_comput2016_11
swkagami
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
Ryo Sakamoto
 
Spanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psNatura
 
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
Sonia Fernandes Bogo
 

Viewers also liked (19)

kagami_comput2015_12
kagami_comput2015_12kagami_comput2015_12
kagami_comput2015_12
 
kagami_comput2015_13
kagami_comput2015_13kagami_comput2015_13
kagami_comput2015_13
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14
 
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11
 
kagami_comput2015_10
kagami_comput2015_10kagami_comput2015_10
kagami_comput2015_10
 
kagami_comput2016_12
kagami_comput2016_12kagami_comput2016_12
kagami_comput2016_12
 
kagami_comput2016_09
kagami_comput2016_09kagami_comput2016_09
kagami_comput2016_09
 
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08
 
HTML5クイズ!
HTML5クイズ!HTML5クイズ!
HTML5クイズ!
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
 
フレッシュマンセミナー20060614
フレッシュマンセミナー20060614フレッシュマンセミナー20060614
フレッシュマンセミナー20060614
 
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4
 
kagami_comput2016_10
kagami_comput2016_10kagami_comput2016_10
kagami_comput2016_10
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
 
kagami_comput2016_11
kagami_comput2016_11kagami_comput2016_11
kagami_comput2016_11
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
 
La vida
La vidaLa vida
La vida
 
Spanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_ps
 
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
 

Similar to kagami_comput2016_04

kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
swkagami
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
swkagami
 
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
Yuto Takei
 
コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析
yamahige
 
Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710
Kazuya Nishina
 
2015-1003 英語コーパス学会ワークショップ使用スライド
2015-1003 英語コーパス学会ワークショップ使用スライド2015-1003 英語コーパス学会ワークショップ使用スライド
2015-1003 英語コーパス学会ワークショップ使用スライド
Mizumoto Atsushi
 

Similar to kagami_comput2016_04 (6)

kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
 
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
 
コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析
 
Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710
 
2015-1003 英語コーパス学会ワークショップ使用スライド
2015-1003 英語コーパス学会ワークショップ使用スライド2015-1003 英語コーパス学会ワークショップ使用スライド
2015-1003 英語コーパス学会ワークショップ使用スライド
 

More from swkagami

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
swkagami
 
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813
swkagami
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
swkagami
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
swkagami
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
swkagami
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
swkagami
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
swkagami
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
swkagami
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
swkagami
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
swkagami
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
swkagami
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
swkagami
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
swkagami
 

More from swkagami (13)

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
 
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
 

Recently uploaded

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 

Recently uploaded (16)

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 

kagami_comput2016_04

  • 1. 東北大学 工学部 機械知能・航空工学科 2016年度 5セメスター・クラスC3 D1 D2 D3 計算機工学 大学院情報科学研究科 鏡 慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 4. 論理値と論理演算 (教科書2.1節,2.4節)
  • 2. 2鏡 慎吾 (東北大学): 計算機工学 2016 (4) 内容 • 論理演算 • 論理値 0 と 1 • 論理演算 AND, OR, NOT • よく使う他の論理演算 NAND, NOR, XOR • 論理ゲート回路 • ビットごと論理演算
  • 3. 3鏡 慎吾 (東北大学): 計算機工学 2016 (4) 論理値と論理演算 論理値 • 「3 は 4 より小さい」は真 (true): 数値 1 で表す • 「カエルは哺乳動物である」は偽 (false): 数値 0 で表す 論理演算: • 論理積 (AND): • 論理和 (OR): • 論理否定 (NOT): あるいは単に 他の記法: 他の記法: 他の記法:
  • 4. 4鏡 慎吾 (東北大学): 計算機工学 2016 (4) 真理値表とゲート記号 A B A・B 0 0 0 0 1 0 1 0 0 1 1 1 A B A・B A B A+B 0 0 0 0 1 1 1 0 1 1 1 1 A A 0 1 1 0 A B A+B A A 真理値表 ゲート記号
  • 5. 5鏡 慎吾 (東北大学): 計算機工学 2016 (4) よく使う他の論理演算 否定論理積 (NAND) A B A・B 0 0 1 0 1 1 1 0 1 1 1 0 否定論理和 (NOR) A B A+B 0 0 1 0 1 0 1 0 0 1 1 0 A B A・B A B A+B 排他的論理和 (eXclusive OR) (XOR) A B A © B 0 0 0 0 1 1 1 0 1 1 1 0 A B A © B •片方だけ 1 のときに限って1 •つまり入力が相異なるときに1
  • 6. 6鏡 慎吾 (東北大学): 計算機工学 2016 (4) 多入力AND, 多入力OR A B C A・B・C A+B+C A B C A B C A B C • 論理積も論理和も,交換則 (AB = BA, A+B = B+A) と結合 則 ((AB)C = A(BC), (A+B)+C = A+(B+C)) が成り立つ. • 入力の順序に関係なく, •多入力ANDは入力が一つでも 0 なら 0 •多入力 OR は入力が一つでも 1 なら 1 • NAND,NOR も同様
  • 7. 7鏡 慎吾 (東北大学): 計算機工学 2016 (4) 多入力XOR A B C A B C A © B © C • X © 1 = X • X © 0 = X • A, B, C, ... と順に見ていって,入力に 1 が現れる度に出力は 反転する • 結局,多入力 XOR は,入力のうち 1 の数が奇数なら 1に, 偶数なら 0 になる
  • 8. 8鏡 慎吾 (東北大学): 計算機工学 2016 (4) NOTゲート の回路 (インバータ) 0 1 VDD (電源電圧) GND (0V) low on off high high off on low 1 0 CMOS技術 (Complementary MOS): NMOS と PMOS を常に対にして使う (低消費電力)
  • 9. 9鏡 慎吾 (東北大学): 計算機工学 2016 (4) NAND, NORゲートの回路 A B A・B A B A+B •AND, OR は NAND, NOR, NOT から作れる •XOR は AND, OR, NOT から作れる
  • 10. 10鏡 慎吾 (東北大学): 計算機工学 2016 (4) プログラミングで使う論理演算 if (x > 20 && x < 80) { ... } if (a < 0 || b < 0) { ... } if (!isalpha(c)) { ... } C言語では,比較演算子 (>, >=, <, <=, ==, !=) は真のとき 整数 1 を,偽のとき整数 0 を 返す. 演算子 &&, ||, ! が,論理積, 論理和,論理否定を行う. if や while などの条件部は, 0 を偽,0 以外を真とみなして 判定する.
  • 11. 11鏡 慎吾 (東北大学): 計算機工学 2016 (4) ビットごと論理演算 C言語の演算子 &, |, ~,^ などは,&&, ||, ! とは異なりビットごとの 論理演算を行う a = 0x1234; // 0001 0010 0011 0100 b = 0xcafe; // 1100 1010 1111 1110 c = a & b; // 0000 0010 0011 0100 (AND) c = a | b; // 1101 1010 1111 1110 (OR) c = ~a; // 1110 1101 1100 1011 (NOT) c = a ^ b; // 1101 1000 1100 1010 (XOR) 任意のビットは • 1 との OR を取ると 1になる; 0 との OR は元のまま不変 • 0 との AND を取ると 0 になる; 1 との AND は元のまま不変 • 1 との XOR を取ると反転する; 0 との XOR は元のまま不変 などを利用して,ビットごとの操作ができる
  • 12. 12鏡 慎吾 (東北大学): 計算機工学 2016 (4) 例題 ファミリーコンピュータ用ゲーム「ドラゴンクエストIV 導 かれし者たち」((株) エニックス, 1990年) では,敵との 戦闘中に「にげる」操作を8 回行うと,それ以降,敵へ のすべての攻撃が強力なものとなる(会心の一撃と呼 ばれる) 現象が生じた.内部でどのような処理が行わ れていたか推測して述べよ. (2010年度 期末試験)
  • 13. 14鏡 慎吾 (東北大学): 計算機工学 2016 (4) 例題 解答例 ドラゴンクエストIV (エニックス) の戦闘状態を保持するメモリ 領域の一部は,以下のような構成だったと推測されている: 霧フラ グ ? ? ? 会心フ ラグ 「にげる」コマンドカウンタ 7 6 5 4 3 2 1 0 critical_hit_bit = 1 << 3; // 0000 1000 fog_bit = 1 << 7; // 1000 0000 status = status | critical_hit_bit; // 会心の一撃ON status = status & ~critical_hit_bit; // 会心の一撃OFF status = status ^ fog_bit; // 霧状態を反転 if (status & fog_bit) { // 霧状態ならこの処理を実行 }
  • 14. 15鏡 慎吾 (東北大学): 計算機工学 2016 (4) 練習問題 1. 16ビットの値 x が与えられたとき,上位 12 ビットと下位 4 ビッ トを入れ替えた結果を変数 y に得る処理を,シフト演算とビッ トごと論理演算の組合せで実現せよ.(このような処理は「4 ビット右ローテート」と呼ばれる) 2. 16ビットの値が与えられたとき,下位から 7 ビット目(ただし LSB を1 ビット目と数えることにする)の値を変数 y に得る処 理を,シフト演算とビットごと論理演算の組合せで実現せよ. (if 文などは使わない)
  • 15. 16鏡 慎吾 (東北大学): 計算機工学 2016 (4) 練習問題 解答例 C言語であれば,以下のような処理で実現できる. 1. 2. unsigned short x, y; ... y = (x << 12) | (x >> 4); y = (x & (1 << 6)) >> 6;