[PDF]

2.3 Booleans
"!#%$'&)($+*,&-.",/,103245(65575&8,1:9
;=<?>1< 03( <
@- ,A,1CB5 -.0 <ED - ,:B5!,5,:",F#G *IH
!J,1 D K05.H?55,1 < L "!#NM$'&)!",O03
P 0 0+&QR$ < ,RS6T:03F,503U.9WVX03!Y(6-Z&Z&6,1Cbool
G$ < ![24\5C%0]T^05H_5C$' -`0 < ,a0 <bP 00+&cd$ < ,
$ <XD (6*e0 < &)*fT:5(g0]TF#",:O05H_CC$' -.0 < ,A,C!1hiBC4K0jdk"H?5",5,G$'&Z&#%0+#5U,:9
VX03!f(- &l&_&cd$+ < 03(bK075M$'&)!m$'KndkUH?C",5,C-`0 < ,o- < M0+&)M1- <p #q *IH
Sr!,C- <p
bool
9
sKtvuwKx`y#z5{|wKz5}v{|x6~C€:‚}ƒ€:x]{‚u3„
… t[€Ix†{‚s‡x]tv~ˆs.{‚‰†Šƒ‚~5s.x‹6Œ
ŒxŽŠ_~LŽ+u3}‘z"€1„Ox]tv{‚„“’Ou3”.•—– ”™˜~šxKtƒ{|„v’%u3”™xŽŠ_~5s/{‚„›x]~CwK‰œs
u3”x]tv~5{|wž1€1‚}v~†wŸ€1„v 3~5sC¡xKtƒ~C„%Ž+u3}¢˜{‚|rŠvw]u£[€:£ƒ|Ž^z5u3‰œ~†}“Š›˜™{|x]t¢€7xŽŠ_~†˜™tvu3sK~†€:‚}v~†wŸ€1„v 3~
{‚s~C‰†ŠƒxŽˆuwz5u3„vsK{‚s`x]su3”u3„v~qŠ_u3sKsK{8£[|~
1€1‚}v~¤u3„v|Ž+¥6¦™w] 3}ƒ€:£ƒ|Ž+¡v€1|}ƒ~Csu3”=sK}vzŸtAxŽŠ~5s€:w]~q+~RwKŽ
~"€1s`Ž¤x]uw]~CŠvw]~CsK~5„x5¡'~R+~5„/˜™{|x]tvu3}“x§s`Š_~5„v¨v{‚„v €1„Žq‰œ~5‰œuwKŽw]~5sKu3}“w]zC~5s5¥r©™uU˜~C+~Cw"¡+€18x]tvu3}ƒ 3tqsK}vzdt
xŽŠ_~Cs™€:wK~o}vsK~C”ª}ƒ?{‚„ˆz5~CwKx]€1{‚„šz5{|w]z5}v‰œs.x]€1„vz5~5s5¡Ž+u3}ˆz"€1„?«¬x6¨vu€‡|uxu3”{‚„'x]~Cw]~Cs.x]{‚„v ‡z5u3‰†Šƒ}“xŸ€:x]{‚u3„vs
˜{8x]tˆx]tv~5‰f¥=¦™”‚x]~Cw™€1‚ ¡xKtƒ~Rw]~q{‚s6„vuuŠ~CwŸ€:x]{|u3„7u3„7x]tv~5‰­ux]tv~Cw6x]tƒ€1„7xKtƒ~o{‚¨v~5„'x]{|xŽ+¥
® u“¡‚~Cx}vsw]~RŠ[t“wŸ€:sK~@x]tv~@€:£_uU+~¯}ƒ~Cs.x]{‚u3„?° … t[€IxX{‚s?x]tv~sK{|‰†Š[|~5s.x?„vu3„y xKw]{8{ª€1'‹6ŒoŒxŽŠ_~@Ž+u3}
z"€1„Lx]tv{‚„“’u3”K•±¦”‚x]~Rw²x]tv~€:£_uU+~¨v{‚sKz5}vsKsK{|u3„L˜~™z5~CwKxŸ€:{‚„v|Ž†tƒ€5+~u3„v~z"€1„v¨v{‚¨ƒ€:x]~°=€ox³ŽŠ_~˜{8x]tL€
1€1‚}v~
wŸ€:„ƒ 3~ox]tƒ€:xzCu3„ƒs.{‚s.x]s´u3”=~Rµv€1zRx]|ŽLx˜u†~5‚~5‰œ~C„x]s5¥¦x´¶ƒwKs.xsK{| 3tx"¡vsK}vzŸtA€/xŽŠ_~q‰L€"Žˆ€1 +€:{‚„
€:ŠvŠ_~"€Iw™+~CwKŽ7‚{‚‰œ{|xK~5¨?¥·6~C+~CwKx]tv~5|~5sKs5¡ƒ˜~
˜{|‚_sK~5~q£~5‚uU˜¸xKt[€Ix{|x™€1‚‚uU˜s”ªuw‰L€:„ŽL{‚„'x]~Cw]~5s`x]{‚„v uŠ_~Cw]€:x]{‚u3„vs5¥X¦™zCx]}ƒ€1‚|Ž+¡1sK}vzdtL€xŽŠ~™{‚ssK}“¹†zC{‚~5„x€1s@€£[€1s.{‚s@”ªuw€1‚’{‚„v¨vs@u3”[z5u3‰†Šƒ}vx]€:x]{‚u3„vs§Ž+u3}
z"€1„4{‚‰L€1 3{‚„v~¥/º#»6~5z"€1‚Z¡_”ªuwq~Rµ“€1‰†Šƒ‚~¡JxKt[€Ix
{|„x]~5 w]€1=„}v‰‡£_~Cw]sz"€1„A£_~‡w]~CŠvw]~5sK~C„x]~5¨^{‚„4£ƒ{‚„ƒ€:wKŽ
”ªuw]‰L€:x5¡x]tƒ€:x6{‚s5¡v}vsK{‚„v ‡x]tv~ox˜u1€1‚}v~5s 0 €1„v¨ 1 u3„v|Ž+¥½¼
2.3.1 Boolean functions
¾ tƒ~ž„ƒ€1‰œ~f¿]Àuu3‚~"€:„ƒÁns.x]~5‰œs”‚w]u3‰xKtƒ~/À@wK{|x]{‚sKtf‰L€Ix]tv~5‰L€:x]{‚zC{ª€1„7Âo~5uw] 3~/Àuu3‚~†º
1815Ã 1864 ¼
˜tvuœŠƒ{‚u3„v~5~Cw]~C¨^{‚„A~5s.xŸ€I£[|{‚sKtv{‚„v †z5u3„v„v~5zCx]{|u3„ƒs£_~Rx³˜~C~5„^‚u3 3{|zž€1„v¨^s.Ž‰/£u3‚{‚z¤€:‚ 3~C£vwŸ€¥qÀ@Žfx]tv~
x]~CwK‰ P 00+&QR$ < TC! < B" -.0 < ˜~¤¨v~5„vux]~¤€n”ª}v„ƒzRx]{‚u3„ f : Ä n → Ä ¡[˜™tƒ~Rw]~ Ä := {0, 1} €:„ƒ¨ n Å^Æ ¥
º#»6~"€1¨ 0 €1s T:$'&),1 €1„v¨ 1 €:s "! ¥Ç¼
‹|~"€:w]|ŽAx]tv~†„}ƒ‰‡£_~Cwqu3”¨v{|È~CwK~5„x/Àuu3‚~"€1„^”ª}ƒ„vzCxK{‚u3„vs¤{‚sq¶ƒ„v{|x]~/”ªuw‡~C+~CwKŽ^¶vµ~5¨ n É@Ê µ“~Rw.y
z5{‚s.~4Ë"ÌF€1s`’sžŽ+u3}Ox]uAsKtvuU˜E˜tƒ€:x‡~Rµ“€1zCx]8Žax]tv~5{|w‡„}ƒ‰‡£_~Cw¤{‚s5¥ ¾ uA 3{8+~†Ž+u3}€7¶vw]s.x/tv{‚„x5°†Í“uw
Î 0 €1„v¨
n = 1 x]tv~Cw]~‡€:w]~qu3„ƒ8Ž7”ªu3}“woÀuu3‚~"€1„f”ª}v„vzCx]{‚u3„vs5¡ƒx]tv~qx˜u†z5u3„vs.xŸ€:„x”ª}v„vzCx]{‚u3„vs c0 : x →
¾
Î 1 ¡§xKtƒ~{‚¨v~5„xK{|xŽ^{‚¨ : x →
Î x €1„v¨ax]tv~†„v~5 +€:xK{‚u3„¢·Ï
Î x ¡§˜tv~CwK~ 0 := 1 €1„v¨
c1 : x →
:x→
1 := 0 ¥
– „Gx]tv~œ”ªu3‚‚uU˜{‚„v L˜~nw]~5s.x.w]{‚zCxžu3}“wž”ªuz5}vs¤x]uf}v„ƒ€:wKŽG€:„ƒ¨G£ƒ{‚„ƒ€:wKŽaÀuu3|~"€1„G”ª}v„vzCx]{‚u3„vs5¡§xKt[€Ix
{‚s5¡=”ª}v„vzCx]{|u3„ƒsq”‚w]u3‰ Ä uw Ä 2 xKu Ä ¥ ® }vzŸtO”ª}v„vzCx]{‚u3„vsž€Iw]~œ‰œu3s.x¤zCu3„+~5„v{‚~5„'x]|Ž^¨ƒ~CsKzCw]{|£~5¨›€:sž€
sK‰L€1|§xŸ€:£ƒ‚~‡x]tƒ€:xo‚{‚s.xKsxKtƒ~”ª}v„ƒzRx]{‚u3„41€1‚}v~5s
”ªuw¤€:‚=Š_u3sKsK{|£ƒ‚~/€:wK 3}ƒ‰œ~C„x]s5¥‡¦„^~Rµv€1‰†Šƒ‚~‡”ªuwq€
£ƒ{‚„ƒ€:wKŽOÀuu3‚~"€1„%”ª}v„ƒzRx]{‚u3„›{|s/¦·™Ð : (x, y) →
Î x ∧$ y<XD sKtvuU˜„{‚„›Í§{‚ 3}“w]~Lѓº#€3¼d¥¢–Zx{|s„ƒ€1‰œ~C¨
¦·™ÐÒ£~5z"€1}vsK~ x ∧ y = 1 {|”€1„v¨Yu3„v|ŽO{‚” x = 1
y = 1 ¥NÓru3}‘‰L€5Ž› 3}v~5s.s†˜tŽOx]tv~
´Xb
@X6Ÿ6
ª” }v„vzCx]{‚u3„ f : (x, y) →
Î x ∨ y ¨v~C¶ƒ„v~5¨G{‚„¢Í§{‚ 3}“w]~/ѓºZ£J¼o{|s
z"€:‚‚~5¨¢Ï»
¥L– „G”Q€:zCx"¡xKtƒ~Rw]~†€:wK~x˜u
Š_u3sKs.{|£ƒ‚~±{‚„'x]~CwKŠvw]~Cx]€:x]{‚u3„vs†u3”x]tv~±˜uw]¨ ¿.uw]Á“°4Óru3} z"€1„Yw]~"€1¨Y{|xš€1s%¿K€:xL|~"€1s.xLu3„v~fu3”³Á“¡6£ƒ}“x
}vs.x†€:s˜~5‚{|x/z"€:„‘‰œ~"€1„i¿.~5{|x]tv~Cwˆ¥5¥"¥Kuw]Á“¡rx]tƒ€:x{‚s5¡ž¿.~dµv€1zCxK|Ž%u3„ƒ~šu3”³Á“¥ ¾ tƒ~š”ª}v„vzCx]{‚u3„›xKt[€Ix
z5uwKwK~5s.Š_u3„v¨vs6xKu‡xKtƒ~oª€:x.x]~Cw{‚„'x]~CwKŠvw]~RxŸ€:x]{‚u3„L{‚ssKtvuU˜„ˆ{‚„±Í§{| 3}vwK~ѓº zU¼R¥@–Zx6{‚s}vsK}ƒ€1‚|Ž†wK~5”ª~CwKw]~C¨7x]u
dkƒB5&)!J,C-ZM^03 ¥±Í§{‚ 3}“w]~nѓº ~U¼
¨v~CŠƒ{‚zCxKsqx]tv~nxŸ€:£ƒ‚~”ªuw¤x]tv~†}v„ƒ€:wKŽ
€1
s ´Ï» : (x, y) →
Î x y uw
¾
”ª}v„vzCx]{‚u3„±·Ï ¥
x
0
0
1
1
y x∧y
0
0
1
0
0
0
1
1
!
x
0
0
1
1
y x∨y
0
0
1
1
0
1
1
1
#"%$&'!
Figure 4: 4
x
0
0
1
1
y x y
0
0
1
1
0
1
1
0
)(*+$&'!
x
0
0
1
1
y x↑y
0
1
1
1
0
1
1
0
-,./'!
x x
0 1
1 0
)01$23!
kv$+2Hm&Q",´T:03 P 010+&cd$ < TC! < B" -.0 < ,:9
Í {| 3}vwK~^ёsKtvuU˜s }vs.x±€O”ª~C˜g~Rµv€1‰†Šƒ‚~Cs5¥ ©™uU˜~C+~Cw"¡{‚„ €Oz5~Cw.xŸ€1{‚„esK~C„ƒs.~¡
{8x
§
sKtvuU˜sˆŽ+u3}e~R+~CwKŽxKtƒ{|„ƒ €:£_u3}“xL£[{|„[€IwKŽNÀuu3‚~"€:„ ”ª}v„ƒzRx]{‚u3„vs5¥ ® u3‰œ~Au3”qx]tv~5s.~a”ª}v„ƒzRx]{‚u3„vs7€Iw]~
sKu±”ª}v„v¨ƒ€1‰œ~5„'xŸ€1=x]tƒ€:x CM5"* £ƒ{‚„ƒ€:wKŽaÀuu3‚~"€:„^”ª}v„vzCx]{‚u3„Gz"€:„a£_~† 3~5„v~CwŸ€Ix]~5¨G”‚w]u3‰ x]tv~5‰f¥œÍ“uw
~Rµ“€1‰†Šƒ‚~¡5´Ï»bz5€1„7£_~
3~5„v~CwŸ€:x]~C¨±”‚w]u3‰ ¦·™Ð¤¡ƒÏ» €1„v¨F·™Ï ¾ °
Completeness.
´Ï» (x, y) = ¦·™Ð ( Ï» (x, y), ·Ï ¾ (¦·™Ð (x, y))).
– „v”ªuw]‰L€1‚8Ž+¡=¿.~5{|xKtƒ~Rw™uw]Án‰œ~"€1„vs†¿.uwKÁ£ƒ}“x™„vuxL¿K€:„ƒ¨vÁ“¥ÍvuwK‰}vª€1s‚{8’+~ox]tv{‚s´€:w]~
~"€1sK{||ŽLzŸtƒ~CzŸ’+~C¨
£Žš 3u3{‚„v ‡x]t“w]u3}v 3tf€1‚=ºZ”ªu3}vwŸ¼Š_u3s.sK{|£ƒ‚~z5u3‰‡£[{|„[€Ix]{‚u3„vs²u3”X€Iw] 3}v‰œ~5„x]sC¥
® {‚‰œ{‚ª€Iw]|Ž+¡²x]tv~A”ª}ƒ„vzCxK{‚u3„e·´¦·™Ð
: (x, y) →
Î x ↑ y ¨ƒ~CsKzCw]{|£~5¨ {‚„Nͧ{‚ 3}“w]~Fѓº ¨[¼†z"€1„N£_~
3~5„v~CwŸ€Ix]~5¨±”‚w]u3‰Ò·Ï ¾ €1„v¨±¦·™ÐWº tv~5„vz5~
xKtƒ~o„ƒ€1‰œ~‡¥5¥5¥Ÿ¼d°
·´¦·™Ð (x, y) = ·Ï ¾ (¦·´Ð (x, y)).
6 ~Rx™}vs™¨v~C¶ƒ„v~˜tƒ€:x˜~
‰œ~5€1„ˆ£Ž¿. 3~C„ƒ~RwŸ€:x]~5Á“¥
0 < ,C- D 5a$O,1"
0]T4\C00+&QR$ < TR! < B" -`0 < ,:998 \5- < $+"*j\C00+&QR$ < TC! < B5 -.0 <
-Z,
Definition 2 7
BR$'&l&c D
\"*
-¬T
BdF$ < \C dkUH?C",5,1 D \5*W$GT:03"27!J&Q$b#J$'40 < &)*WBC0 < .$+- < ,‘f#
F
M$+"-³$“\U&cgenerated
5,
$ <XD S6#
7BC0 f< ,C.$ < # ,
$ <XD S$ <XD #6TC! < B" -.0 < ,TC5032
9
x
y
0
1
F
: 03$œ,:"'; 0]T¤\"- < $+"*TC! < B" -.0 < ,CS$n,1"
0]Tž\"- < $+"*TR! < B" -`0 < ,- ,o,:$+- D K07\C
F
complete
- Tœ$ <XD 0 < &)*f-¬TšCM5"*‡TC! < B" -.0 <
; BR$ < \5 p < 5C$'K D \5* 9
fÅ
F
… ~q€:w]~o„ƒuU˜bŠvw]~CŠ[€:w]~5¨7”ªuw€‡z5u3‰†Šƒ‚~Cx]~C„ƒ~CsKsŠƒwKuu3”#¥
@4,:"š0]TqTC! < B5 -.0 < , ¦·™Ð Ï» ·Ï ¾ - ,aBR032Hm&Q"KT:03A#^,15š0]T^\5- < $+"*
{
,
,
}
P 00+&QR$ < RT ! < B" -`0 < ,:9
Theorem 1
Ë
B5J$+C$vB"K5"-Z,5 -.B¤MCB
Proof. ¦™„Ž/£[{|„[€IwKŽÀuu3‚~5€1„n”ª}v„vzCx]{‚u3„ f {‚srz5u3‰†Šƒ‚~Cx]~58Žž¨v~5sKzCw]{8£_~5¨n£Žn{|xKs
K03
(f(0, 0), f(0, 1), f(1, 0), f(1, 1)) ¥Í“uw~Rµv€:‰†Š[|~¡:¦·™ÐOtƒ€1smzŸt[€IwŸ€1zCx]~Rw]{‚s.x]{|zr+~5zRx]uw (0, 0, 0, 1) ¡
uw 0001 ”ªuw¤sKtvuwKx"¥ 6 ~Cx f
¨v~5„vux]~‡x]tv~œÀuu3‚~"€1„A”ª}v„vzCx]{‚u3„^˜™{|x]tAzŸt[€IwŸ€1zCx]~Rw]{‚s.x]{|z‡+~CzCx]uw
b1 b2 b3 b4
b1 b2 b3 b4 ¥@Ívuw´~Rµ“€1‰†Šƒ‚~¡¦·´Ð = f0001 ¥
– „nx]tv~¶ƒwKs.xrs.x]~CŠœu3”ƒx]tv~6Švw]uu3”#¡3˜~´sKtvuU˜ x]tƒ€:x@€1‚x]tvu3sK~6”ª}v„ƒzRx]{‚u3„vsz"€1„n£_~ 3~5„v~Cw]€:x]~5¨n˜™tvu3sK~
zŸtƒ€:wŸ€1zCxK~Cw]{‚s.xK{‚z+~5zCx]uw™z5u3„xŸ€:{‚„vs´€‡sK{‚„v 3‚~ 1 ¥@– „v¨v~5~5¨?¡
f0001 (x, y)
f0010 (x, y)
f0100 (x, y)
f1000 (x, y)
=
=
=
=
¦·™Ð
¦·™Ð
¦·™Ð
·Ï ¾
(x, y),
¾
(x, ·Ï (y)),
¾
(y, ·Ï (x)),
( Ï» (x, y)).
¾ uzŸtv~5z]’ex]tv~a”ªuw]‰/}vª€G”ªuw
f0010 ¡o”ªuwf~Rµv€:‰†Š[|~¡˜~az"€1„bzCwK~"€:x]~G€%xŸ€:£ƒ‚~^”ªuw7x]tv~a”ª}v„ƒzRx]{‚u3„
¦·™Ð (x, ·™Ï ¾ (y)) €1s´{|„±Í§{‚ 3}“w]~oр1„v¨±z5u3„{‚„vz5~ou3}vwKsK~5|+~5sx]tƒ€:xx]tv~w]~5sK}v|x]{|„ƒ ‡zŸtƒ€:wŸ€1zRx]~Cw]{‚s`x]{‚z
+~5zCxKuw{‚s 0010 ¥
– „ˆx]tv~sK~5zCu3„ƒ¨ˆs.x]~CŠm¡˜~sKtvuU˜ex]tƒ€:x6€1„ŽL”ª}v„vzCx]{|u3„š˜™tƒu3s.~zdtƒ€:w]€1zCx]~CwK{‚s.x]{‚z+~CzCx]uw6{‚s„vu3
„ C~Cw]u
z"€1„š£_~ 3~5„v~CwŸ€:xK~5¨?¥ ¾ tv{‚s{‚s¨vu3„v~£ŽLz5u3‰‡£[{|„ƒ{|„ƒ x]tv~
€:|w]~"€1¨“Žœ 3~C„ƒ~RwŸ€:x]~5¨¿.sK{‚„v 3‚~Ry 1Áž”ª}v„vzCx]{‚u3„vs
x]t“w]u3}v 3tfÏ»q¡˜™tƒ{|zdt7sK{‚‰†Šƒ|Žœ€:¨ƒ¨vs6}“Š±x]tv~5{|w 1 « sC¥@͓uw™~Rµv€1‰†Šƒ‚~1¡
f1100 (x, y) = Ïo» (f1000 (x, y), f0100(x, y)),
Ï » ( Ï» (f (x, y), f (x, y)), f (x, y)).
f0111 (x, y) = o
0100
0010
0001
… /
~ €:£ƒs.x]€1{‚„A”‚w]u3‰ ˜uwK’{‚„v œx]tv{‚s€:wK 3}ƒ‰œ~C„xu3}“x”ªuw]‰L€1‚8Ž+¡JsK{‚„vz5~ž˜~‡£_~5‚{|~C+~¤x]tƒ€:xŽ+u3}a 3~Cxo{|xKs
€1s
{‚¨v~"€¥rͧ{|„[€:‚|Ž+¡˜~o 3~5„v~CwŸ€:xK~ f
0000
f0000 (x, y) = 0.
¾
¾
Ê µ~Cw]z5{|sK~Ë6€1s.’srŽ+u3}nxKu
sKtvuU˜ x]tƒ€:x=x]tv~´s.~Cx]s {¦·´Ð , ·Ï } ¡ { Ï» , ·Ï } ¡'€1„v¨†~R+~5„nx]tv~6sK~Cx
x]tƒ€:xz5u3„vsK{|s.x]su3”x]tv~žsK{‚„v 3‚~ž”ª}v„vzCx]{‚u3„ { ·´¦·™Ð } €:w]~‡z5u3‰†Šƒ‚~Cx]~
”ªuwx]tv~žsK~Cxou3”r£ƒ{‚„ƒ€:w.ŽFÀuu3|~"€1„
”ª}v„vzCx]{‚u3„vs5¥
2.3.2 The type bool
– „/‹6Œ
Œž¡'Àuu3‚~5€1„vs§€:wK~w]~CŠvw]~5s.~5„x]~C¨/£Ž
x]tv~²”ª}v„v¨ƒ€1‰œ~5„'xŸ€13xŽŠ_~ bool ¥=–Zx]s€1|}ƒ~rwŸ€1„v 3~zCu3„ƒs.{‚s.x]s
3u ”_x]tv~x³˜už~C‚~5‰œ~5„'x]s "!§ €:„ƒ¨ T:$'&),1 x]tƒ€:x6€:w]~€1s.sKuz5{‚€:x]~5¨œ˜{8x]tœx]tv~‚{|x]~Cw]€1‚s true €1„v¨ false ¡
w]~5s`Š_~5zCx]{8+~5|Ž+¥r͓uw~Rµ“€1‰†Šƒ‚~¡
bool b = true ;
¨v~C¶ƒ„v~5s™€ž1€:w]{ª€:£ƒ‚~ b u3”mxŽŠ_~ bool €:„ƒ¨ˆ{‚„v{|x]{ª€:‚{5~5s{|xx]u "! ¥
͓uw]‰L€1‚|Ž+¡Ix]tv~²xŽŠ_~ bool {‚s€1„{‚„xK~5 wŸ€1'x³ŽŠ_~¡+¨v~C¶ƒ„v~5¨x]u£_~‚~CsKs 3~5„v~CwŸ€1x]tƒ€1„ int ºl˜tv{‚zŸt
{‚„šx]}“w]„±{‚s6‚~5sKs6 3~5„v~CwŸ€:mx]tƒ€1„ unsigned int ¡vsK~5~ ® ~5zCx]{‚u3„¥¥3¼d¥
´Xb
@X6Ÿ6
¾ v
t ~
zCu3‰†Š[|~Cx]~sK~Rx™u3”m£[{|„[€IwKŽšÀuu3|~"€1„š”ª}ƒ„vzCxK{‚u3„vs{‚s6€"1€1{‚‚€:£ƒ‚~{ª€qxKtƒ~ &Q0 p
Logical operators.
-.Bd$'&o05H5C$'K03U,
· мR¡ || º#Ïo»™¼R¡X€1„v¨ ! º#·Ï ¾ ¼R¥š‹u3‰†Š[€:w]~5¨Ax]u7x]tv~n„vuxŸ€Ix]{‚u3„^}vsK~C¨%{|„
&& ºZ¦™
® ~5zCxK{‚u3„ ¥ ¥‚ˤ˜~s.{‚‰†Šƒ|Ž±{‚¨v~5„'x]{‚”‚Ž
"! €1„v¨
T:$'&),1 ¥žÀux]t
1 ˜{8x]t
0 ˜{|x]t
&& €:„ƒ¨ || €:w]~‡£ƒ{8y
„ƒ€:wKŽfuŠ~CwŸ€:x]uwKs5¡˜tv{‚‚~ ! {|so}v„ƒ€:wKŽ+¥¦|XuŠ_~CwŸ€:„ƒ¨vs€:wK~‡w.€1|}ƒ~Csu3”rxŽŠ~ bool ¡?€1„v¨^€:‚X‚u3 3{‚z5€1
uŠ_~Cw]€:x]uw]sq€1‚sKušw]~Cx]}“w]„GwK1€1‚}v~5s
u3”²xKŠ_~ bool ¥ 6 {|’+~{‚„a‚u3 3{|z5s5¡ && £ƒ{‚„v¨vs
‰œuwK~s.x.w]u3„v 3|Ž4xKt[€:„
|| ¡v€1„v¨ ! £ƒ{‚„v¨vs6‰œuwK~os`xKw]u3„v 3|Žœx]tƒ€1„ && ¥
¾
tv~Cw]~²{‚s§€1‚sKu™€´„}ƒ‰‡£_~Cwu3”“uŠ_~Cw]€:x]uw]su3„‡€:w]{|x]tv‰œ~CxK{‚zXxŽŠ_~5sm˜tvu3sK~wK~5sK}v|x
Relational operators.
{‚su3”xŽŠ_~ bool ¥Í“uw~"€1zŸt^€Iw]{|x]tv‰œ~Cx]{|zxŽŠ_~¤x]tv~Cw]~‡~Rµ{‚s.xx]tv~žsK{)µ 5"&ª$' -.0 < $'&605H_5C$'K03U, < ¡ > ¡
¾
<= ¡ >= ¡ == ¡?€1„v¨ != ¥ tv~5sK~/€:w]~ž£ƒ{‚„ƒ€:wKŽ7uŠ_~CwŸ€:xKuw]s˜tvu3sK~¤x˜uœwK1€1‚}v~žuŠ_~CwŸ€:„ƒ¨vs€:wK~žu3”@sKu3‰œ~
€:w]{8x]tv‰œ~Cx]{‚zžxŽŠ_~†€1„v¨¢˜™tvu3sK~nw]~5s.}ƒ8xž{‚sž€1„GwK1€1‚}v~†u3”²xŽŠ_~ bool ¥ ¾ tv~†uŠ_~RwŸ€:x]uw]s <= €1„v¨ >=
z5uwKwK~5s.Š_u3„v¨fx]u†x]tv~¤‰L€:xKtƒ~C‰L€:x]{‚z"€:Jw]~5ª€Ix]{‚u3„vsi€1„v¨
¡JwK~5s.Š_~5zRx]{|+~5|Ž+¥ ¾ tv~¤uŠ~CwŸ€:x]uw == x]~Cs.x]s
”ªuw´~5¯}ƒ€1‚{8x³Žš€:„ƒ¨ != x]~5s.x]s6”ªuw{|„ƒ~C¯}ƒ€1‚{|xŽ+¥
® {‚„vz5~
bool {|s=€1„‡{‚„xK~5 wŸ€1'x³ŽŠ_~¡x]tv~wK~5ª€:x]{|u3„[€:uŠ_~RwŸ€:x]uw]s‰L€5Žž€1‚s.utƒ€"+~uŠ~CwŸ€1„v¨vsXu3”“xŽŠ_~
¾
T:$'&),1 "!§ ¥
bool ¥ tƒ~w]~5s`Š_~5zCx]{8+~qz5u3‰†Š[€:w]{|sKu3„vs€:w]~o¨ƒu3„v~
€1z5z5uwK¨ƒ{|„ƒ /x]u‡x]tv~
z5u3„'+~5„xK{‚u3„
<
Watch out! ¦
‚” w]~C¯}v~5„xq£_~5 3{‚„v„v~Cw"«¬so‰œ{|s.xŸ€:’+~‡{‚sx]u7}vsK~/x]tv~n€:sKsK{‚ 3„v‰œ~5„'x
uŠ~CwŸ€:x]uw =
˜tv~Cw]~x]tv~o~5¯}ƒ€1‚{8x³ŽLuŠ~CwŸ€:x]uw == {‚s6‰œ~"€1„'x"¥
¦ s€‡ 3~5„v~CwŸ€:mw]}v‚~1¡v€:w]{|x]tv‰œ~CxK{‚zuŠ_~Cw]€:x]uw]s£ƒ{‚„v¨7‰œuw]~os.xKw]u3„v 3|ŽœxKt[€:„7w]~5ª€Ix]{‚u3„ƒ€1u3„v~5s5¡ƒ€1„v¨
x]tv~5sK~
{‚„ˆxK}vwK„7£ƒ{‚„v¨7‰œuw]~s.xKwKu3„ƒ 38Žœx]tƒ€1„ˆx]tv~
‚u3 3{‚z"€1JuŠ_~CwŸ€:xKuw]s5¥
Boolean Evaluation Rule: À{‚„ƒ€:wKŽš€:wK{|x]tv‰œ~Cx]{‚z™uŠ_~CwŸ€:xKuw]st[€5+~
tƒ{| 3tƒ~Rw´Švw]~5zC~5¨v~5„vz5~
x]tƒ€1„
w]~5‚€:x]{‚u3„ƒ€1uŠ~CwŸ€:x]uwKsC¡ƒ€1„v¨7x]tv~5sK~
tƒ€"+~otv{‚ 3tv~Cw6ŠƒwK~5z5~5¨v~5„vz5~ox]tƒ€1„7£ƒ{‚„ƒ€:wKŽL‚u3 3{|z"€1uŠ_~RwŸ€:x]uw]sC¥
͓uw~Rµ“€1‰†Šƒ‚~¡x]tv~o~RµŠvw]~CsKsK{‚u3„
7 + x < y && y != 3 * z
{‚s6‚u3 3{‚z"€:‚|ŽnŠ[€:wK~5„x]tv~5s.{5~5¨f€:s
((7 + x ) < y ) && ( y != (3 * z )).
À~z5€:w]~5”ª}v˜™{|x]t
‰L€:x]tv~5‰L€:x]{|z"€1IsKtvuwKx]z5}“xX„vuxŸ€Ix]{‚u3„osK}vzdt/€1s a = b = c ¥¦sX€´‹6Œ
Œ‘~RµŠvw]~CsKsK{‚u3„?¡
a == b == c
{‚s6„vux´~C¯}v{|1€1‚~5„'x´x]u
a == b && b == c.
À@Ž |~5”‚xF€1sKs.uz5{ª€Ix]{|{8x³Ž u3” == ¡x]tv~a~RµŠƒwK~5sKsK{‚u3„ a == b == c {‚sˆ‚u3 3{‚z"€:‚|Ž‘Š[€:w]~5„'x]tv~5sK{C~5¨¸€1s
¡ €1„v¨ c €:w]~€Iw]{ª€:£ƒ‚~5su3”ƒx³ŽŠ_~ int ˜{|x]t‡1€1‚}v~ 0 ¡+xKtƒ~6~C1€1‚}ƒ€:x]{|u3„
(a == b) == c ¥r– ”€1‚“u3” a ¡ b '
Ž{|~5‚¨vs
(0 == 0) == 0 −→ true == 0 −→ 1 == 0 −→ false ,
}vs.x´xKtƒ~ouŠvŠ_u3sK{|xK~ou3”˜tƒ€:xŽ+u3}±}vsK}ƒ€1‚|ŽL‰œ~5€1„š£Ž
a = b = c¥
& 0 (1
'
0 " ., 0 !!#"$%& '.0()*+( ,"$.0- 0*( 0 ,.0- ( 0!
¾ tv~™˜~5‚8yZ’„vuU˜„†”ªuw]‰/}vª€1~´u3”_tƒuU˜NxKu¤~RµŠvw]~CsKs¦·™ÐN{‚„œx]~Rw]‰œsu3”mÏ»N€:„ƒ¨
{|z5~+~Cw]sK€´˜{|xKtqx]tv~²tv~5|Š‡u3”ƒ·Ï ¾ ¡3€:w]~²„ƒ€1‰œ~C¨ž€1”‚x]~Cw§x]tv~À@w]{|xK{‚sKtž‰L€:x]tv~5‰L€Ix]{‚z5{ª€:„¦}v 3}ƒs`x]}vsXÐ~
uw] +€1„fºKË"Ì Ã Ë"Ì ËU¼R¥X©™~6˜6€1s²€Šƒ{‚u3„v~5~Cw@{‚„œs.Ž‰‡£_u3‚{|z€1‚ 3~C£vwŸ€o€1„v¨œ‚u3 3{‚z5sC¥X¦‚sKuox]tv~´w]{| 3uw]u3}vs
”ªuw]‰/}vª€:x]{‚u3„u3”6¿.‰L€:x]tv~5‰L€:xK{‚z"€1{|„ƒ¨v}vzCx]{|u3„ƒÁq€1s˜~™’„vuI˜ €1„v¨œ}ƒs.~{|xx]u¨ƒ€"Ž 3u~Cs²£J€:zŸ’x]užtv{‚‰f¥
¾ tƒ~o¨v~Ry uwK +€1„y#”ªuw]‰/}vª€1~s.xŸ€:xK~ox]tƒ€:xoº {|„f‹6Œ
Œ™y#ª€:„ƒ 3}ƒ€1 3~"¼
De Morgan’s laws.
!( x && y ) == (! x || ! y )
€1„v¨
!( x || y ) == (! x && ! y ) .
¾ tƒ~CsK~q”ªuw]‰/}vª€1~z"€1„7u3”‚x]~5„±£_~o}vsK~5¨±x]u/xKwŸ€1„vsK”ªuw]‰ € P 00+&cd$ < dkUH?C",5,C-`0 < º#€1„7~RµŠvw]~5s.sK{‚u3„fu3”
x ŽŠ_~ bool ¼{‚„'x]un€4¿.sK{‚‰†Šƒ‚~Rw]Á‡~5¯}v{|1€1‚~5„'x6”ªuw]‰f¥rÍvuw´~Rµ“€1‰†Šƒ‚~¡
!( x < y || x + 1 > z ) && !( y <= 5 * z || !( y > 7 * z ))
z"€1„7~5¯}v{|1€1‚~5„'x]|Žœ£_~˜™wK{|xKx]~5„7€1s
x >= y && x + 1 <= z && y > 5 * z && y > 7 * z
˜tv{‚zŸtˆ{‚s´zC‚~"€:w]8ŽœŠƒwK~5”ª~CwŸ€:£ƒ‚~o{‚„7xK~Cw]‰œsu3”w]~5€1¨ƒ€:£ƒ{‚‚{|xŽ+¥
͓uw‡‰œuw]~n¨v~CxŸ€:{‚‚s
€:£_u3}“xqŠvw]~5zC~5¨v~5„vz5~5s/€1„v¨%€1sKsKuz5{ª€:x]{8{|x]{|~5su3”xKtƒ~n‚u3 3{‚z"€1r€1„v¨Gw]~5‚€:x]{‚u3„ƒ€1
uŠ_~Cw]€:x]uw]s5¡UsK~C~ ¾ €I£[|~ ¥§Óru3}
‰L€5Ž¶ƒ„v¨oxKtƒ{|sm{|„ƒ”ªuwK‰L€:x]{‚u3„tv~58Š[”ª}v3{‚„
uw]¨v~Cw?x]u6sKu3|+~ Ê µ~Cw]z5{|sK~ ¥
Description
‚u3 3{‚z"€:„vux
‚~5sKs
w]~"€:xK~Cw
‚~5sKs6uw´~5¯}ƒ€1
w]~"€:xK~Cw™uw´~5¯}[€:
~5¯}ƒ€1|{|xŽ
{‚„v~5¯}ƒ€1|{|xŽ
‚u3 3{‚z"€:_€1„v¨
‚u3 3{‚z"€:uw
Table 2:
Operator
!
<
>
<=
>=
==
!=
&&
||
Arity
Ë
Prec. Assoc.
Ë
Ë3Ë
3Ë Ë
3Ë Ë
3Ë Ë
Ë Ë 5RBC D < BC", $ <XD '$ ,5,101B5-`$' -lM- -`",¸0]Tj&Q0 p -.Bd$'&A$ <XD
05H_5R$ <XD ,L$ <XD 5 " !J < M$'&)!",L$+Cn"M$'&!§",I9
w]{| 3tx
‚~C”‚x
‚~C”‚x
‚~C”‚x
‚~C”‚x
‚~C”‚x
‚~C”‚x
‚~C”‚x
‚~C”‚x
C"&Q$' -`0 < $'&405H_CC$'K03U,:9
8
&Z&
–Zx¤{|s
Š_u3sKs.{|£ƒ‚~x]tƒ€:xox]tv~nx˜u±uŠ_~RwŸ€1„v¨vsqu3”€šwK~5ª€:x]{|u3„[€:ruŠ~CwŸ€:x]uw
¾
tƒ€5+~¨v{|È~CwK~5„x²xŽŠ_~¥ tƒ{|s²z"€1sK~™{‚s@xKwK~"€:x]~5¨L{‚„x]tv~s]€1‰œ~6˜6€"Žn€1s²”ªuwx]tv~€:w]{|xKtƒ‰œ~Rx]{‚zuŠ_~Cw]€:x]uw]s5¥
¾ tƒ~z5u3‰†Šu3sK{|x]~²~dµŠvw]~5sKs.{‚u3„†{‚s=~C1€1‚}ƒ€:xK~5¨nu3„/x]tv~6‰œuwK~ 3~5„v~CwŸ€1xŽŠ~¡3x]uo˜™tv{‚zŸt/x]tv~uŠ_~Cw]€1„v¨nu3”
x]tv~o‚~5sKs6 3~5„v~CwŸ€1_xŽŠ~
{‚s6{‚‰†Šƒ‚{‚zC{|x]|Ž/z5u3„'+~CwKx]~5¨?¥@– „7Š[€:wKx]{|z5}vª€:w"¡ bool uŠ_~RwŸ€1„v¨vs´€Iw]~
zCu3„+~CwKxK~5¨
x]uœx]tv~qw]~Cs.Š_~5zCxK{|+~‡{‚„x]~C wŸ€1xŽŠ_~žu3”=x]tv~žux]tv~CwuŠ_~CwŸ€:„ƒ¨?¥©´~Cw]~¡x]tv~¤1€1‚}v~ TI$'&8,1 {‚sz5u3„'+~CwKx]~5¨
x]u 0 ¡€1„v¨ "!§ x]u 1 ¥E– ”qx]tv~4{‚„x]~C wŸ€1xŽŠ_~A{‚s int ¡x]tv{‚sšz5u3„'+~Cw]sK{‚u3„e{|sˆ¨v~C¶ƒ„v~5¨ x]u%£_~^€
H?503240+ -.0 < ¥=¦ ŠƒwKu3‰œux]{‚u3„‡{‚s@€os.Š~5z5{ª€1vz5u3„'+~Cw]sK{|u3„†”ªuw@˜™tv{‚zŸtnx]tv~‹6ŒoŒes`xŸ€1„v¨ƒ€:w]¨n 3}ƒ€:w]€1„x]~C~5s
x]tƒ€:x6„vun{‚„v”ªuw]‰L€Ix]{‚u3„L 3~Cx]s6‚u3s.x"¥
Conversion and promotion.
´Xb
@X6Ÿ6
Ñ
¾ tv~žz5u3„'+~Cw]sK{|u3„^ 3u~Cs{‚„x]u†xKtƒ~qux]tv~Cw¨v{|w]~5zCxK{‚u3„F”ªuw‚u3 3{‚z"€1muŠ_~Cw]€:x]uw]s5¥– „A‰œ{8µ~5¨f~RµŠvw]~Cs`y
sK{‚u3„vs5¡+x]tv~™{|„x]~5 w]€1vuŠ_~CwŸ€1„v¨vsu3”J‚u3 3{‚z"€1vuŠ_~RwŸ€:x]uw]s@€:w]~´z5u3„+~RwKx]~5¨œx]u bool {‚„†s.}ƒzŸtš€o˜6€5Ž/x]tƒ€:x
TI$'&8,: €1„v¨f€1„Žšux]tv~Cw61€1‚}v~
{|s´z5u3„'+~CwKx]~C¨±x]u "! ¥
0 {‚s´zCu3„+~CwKxK~5¨±x]u
¾ tv~5s.~z5u3„'+~Cw]sK{‚u3„vs€1‚sKuxŸ€:’+~Šƒª€1z5~{‚„
{‚„v{|x]{ª€:‚{ "€:xK{‚u3„vsJ€1„v¨q€1sKsK{‚ 3„v‰œ~5„'x]s5¡I€1sm{‚„
xKtƒ~r”ªu3‚‚uU˜{|„ƒ ~Rµ“€1‰†Šƒ‚~5s5¥
bool b = 5; // b is initialized to true
int i = b ; // i is initialized to 1
2.3.3 Short circuit evaluation
¾ tƒ~™~C€:‚}ƒ€:x]{‚u3„u3”_~RµŠvw]~5s.sK{‚u3„vs²{‚„'+u3|{‚„v ‚u3 3{‚z"€1v€:„ƒ¨†wK~5ª€:x]{|u3„[€:ƒuŠ~CwŸ€:x]uwKs@Švw]uzC~5~5¨vs€1z5zCuw]¨y
‚{ „v †x]u†x]tv~ž 3~5„v~Cw]€1§w]}v‚~5sC¡_€1s¨v{‚sKz5}vsKs.~5¨4{|„ ® ~CzCx]{‚u3„vs ¥¥|ˤ€1„v¨ ¥¥ ¥™©™uU˜~C+~Cw"¡x]tv~CwK~ž{‚su3„v~
{‚‰†Š_uw.xŸ€1„x²¨ƒ{8È~Cw]~C„ƒzC~
w]~5 +€Iw]¨v{‚„v x]tv~quwK¨ƒ~Rw™{‚„ˆ˜tv{‚zŸt7x]tv~quŠ~CwŸ€1„v¨vs´u3”X€1„±uŠ_~Cw]€:x]uw™€:w]~q~R€1)y
}ƒ€:x]~5¨?¥ … tv{‚‚~¤{|„A 3~C„ƒ~RwŸ€1Xx]tv{‚suwK¨ƒ~Rw{‚s}v„v¨ƒ~R¶[„v~5¨?¡x]tv~¤£ƒ{‚„ƒ€:wKŽ7‚u3 3{‚z"€:uŠ_~RwŸ€:x]uw]s && €1„v¨ ||
€1|˜6€5Žsn 3}ƒ€:wŸ€1„'x]~5~šx]tƒ€:xnx]tv~5{8w†‚~5”‚x†uŠ_~CwŸ€1„v¨‘{‚s~C1€1‚}ƒ€:x]~5¨‘¶vw]s.x5¥
uwK~5uI+~Rw"¡´{|”™x]tv~71€1‚}v~±u3”
x]tv~Lz5u3‰†Š_u3sK{8x]~n~RµŠvw]~5sKsK{|u3„›{‚s/€1|wK~"€1¨“ŽG¨v~C¶ƒ„v~5¨%£ŽGx]tv~œ€1|}ƒ~Lu3”x]tv~L‚~5”‚x‡uŠ_~Cw]€1„v¨%x]tv~5„%x]tv~
w]{‚ 3t'xuŠ_~CwŸ€:„ƒ¨š{‚s < 0+o5M$'&!$'K D €:x6€1| ¥ ¾ tv{‚s~R€1|}[€Ix]{‚u3„LsKzŸtv~5‰œ~{‚s’„vuI˜™„7€:s ,C03UoB5-l5B5![- 5M$'&!$' -`0 < ¥
©™uU˜­z"€1„{|x/tƒ€:ŠvŠ_~5„Ox]tƒ€:x‡x]tv~L¶ƒ„ƒ€11€1‚}v~ˆ{|s€:|w]~"€1¨“Ž¢¨v~Cx]~Rw]‰œ{‚„v~5¨¢£Ž¢x]tv~ˆ|~5”‚xnuŠ~CwŸ€1„v¨
u3„v|Žv• ® }vŠvŠ_u3s.~6x]tƒ€:xr{‚„n€1„ && uŠ~CwŸ€:x]uwx]tv~6‚~5”‚xruŠ_~Cw]€1„v¨†~C1€1‚}ƒ€:x]~5s=x]u T:$'&),1 É x]tv~5„„ƒu
‰L€:xKx]~Rw
˜tƒ€:xxKtƒ~w]{‚ 3t'xuŠ_~CwŸ€:„ƒ¨ˆ 3{|+~5s5¡xKtƒ~w]~CsK}v|x˜{‚‚€1|˜6€5Žs²£_~ TI$'&8,1 ¥©™~C„ƒzC~¡x]tv~Cw]~o{‚s„vu„v~5~5¨šx]u
~C1€1‚}ƒ€:x]~/x]tv~w]{| 3tx
uŠ_~CwŸ€1„v¨¢€:xq€1‚Z¥ ¾ tv~n€1„ƒ€1‚u3 3u3}vssK{|x]}ƒ€:x]{|u3„^uzCz5}“w]s¤{‚”²{|„G€1„ || uŠ_~CwŸ€Ix]uw
x]tv~o‚~5”‚x´uŠ_~CwŸ€1„v¨±~R€1|}[€Ix]~5sx]u "! ¥
¦x¤¶vw]s.xžsK{| 3txž{|xq‚uu’s¤€1sq{‚”sKtvuwKxžz5{8w]z5}v{|x¤~R€1|}[€Ix]{‚u3„G{‚s
‰œ~Cw]~5|Ž^€7‰L€:x.x]~Cw
u3”6~R¹†z5{‚~C„ƒzRŽ+¥
À}“x
xKtƒ~Rw]~{|s
€:„ƒuxKtƒ~Rw
£_~C„ƒ~R¶ƒx5¥–Zxouz5z5}“w]s
˜™tv~5„^¨v~"€1|{‚„v L˜™{|x]t4~RµŠvw]~5s.sK{‚u3„vsoxKt[€Ixq€Iw]~¨v~C¶ƒ„v~5¨
”ªuw´z5~CwKxŸ€:{‚„ˆŠ[€:wŸ€:‰œ~Cx]~Cw]su3„v|Ž+¥@‹u3„vsK{‚¨v~Cw6”ªuw™~dµv€1‰†Šƒ‚~x]tv~o¨v{|{‚s.{‚u3„LuŠ_~CwŸ€:xK{‚u3„šxKt[€Ix´{|s6¨v~C¶ƒ„v~5¨
”ªuw™€/„vu3„ 5~Cw]un¨ƒ{8{‚sKuw6u3„v|Ž+¥Ð}v~oxKunsKtvuwKx´z5{|w]zC}ƒ{8x´~R€1|}[€Ix]{‚u3„?¡˜~oz"€1„7˜´w]{|x]~
x != 0 && z / x > y
€1„v¨f£_~¤sK}“w]~¤xKt[€Ixx]tv{‚s™~dµŠvw]~5sKs.{‚u3„4{|s€1|˜6€5Žs™€:‚{‚¨?¥™– ”=x]tv~qwK{‚ 3tx™uŠ_~CwŸ€1„v¨f˜6€1s~R€1|}[€Ix]~5¨F”ªuw
x==0 ¡ 6x]tv~5„ˆx]tv~ow]~CsK}v|x´˜u3}v‚¨š£_~o}ƒ„v¨v~C¶ƒ„v~5¨?¥
2.3.4 Details
¾ tv~ ´Ïo»E”ª}v„vzCx]{‚u3„¢{‚s‡€:‚sKuf”‚w]~5¯}v~5„x]8Ž¢z"€1‚‚~C¨ $ < -ZM$'&Q < BC €1„v¨¢¨v~5„vux]~5¨¢£Ž
¥
¾ tƒ~š·6¦·™ÐE”ª}v„vzCx]{‚u3„%{‚sž€1|sKu±’„vuU˜„%€1s $'&)K5 < $'K D < -`$'& uw ž54,5 50 > ¥ ¾ tv~œª€:xK=
x]~Rw
„ƒ€1‰œ~n{|s¤€1”‚x]~Rwžx]tv~†¦‰œ~Cw]{|z"€1„a‰L€:xKtƒ~C‰L€:x]{‚z5{‚€1„A©™~5„“wKŽ
¥ ® tv~CÈ~CwLºKË"Ì3Ì Ã Ë Ñ'¼˜™tƒuˆŠƒwKuI+~5¨
x]tƒ€:x´€1‚?ux]tv~Cw´‚u3 3{‚z5€1uŠ_~Cw]€:x]{‚u3„vsz"€1„7£~
~RµŠvw]~5sKsK~C¨A{|„ˆx]~CwK‰œs6u3”=·´¦·™Ðq¥
Naming.
.030 #"&
%
0 + 0(*
' 0
# & (
) x
0
+
… ~^tƒ€5+~4sK~C~5„e{‚„ ® ~CzCx]{‚u3„ ¥ ¥½ÌGx]tƒ€:xš{‚„xK~5 3~Cw]sšz"€1„N£~Aw]~RŠƒwK~5sK~5„'x]~5¨e{‚„
£ƒ{‚„ƒ€:wKŽ%”ªuw]‰L€:x5¡rx]tƒ€:x{‚s5¡€1s†€FsK~5¯}v~5„vz5~±u3”™£ƒ{|x]s/~"€1zŸt‘u3”™˜™tv{‚zŸt{‚s/~5{|x]tv~Cw 0 uw 1 ¥‘Àuu3‚~"€1„
”ª}v„vzCx]{‚u3„vsoz"€1„a„ƒ€:x]}“wŸ€:‚|Ž±£_~/~Rµx]~5„v¨v~5¨ax]u7{|„x]~5 w]€1=x³ŽŠ_~5so£Ž4€:ŠvŠƒ|Ž{‚„v œx]tv~5‰—£ƒ{|x˜{‚sK~žx]ušx]tv~
£ƒ{‚„ƒ€:wKŽœw]~RŠƒwK~5sK~5„'xŸ€:x]{‚u3„vs5¥
Bitwise operators.
Pb
0 < ,C- D 5%$ < 0 <_< p $' -lMa- < K p 5
$ <XD (0- < K p 5U,
$ <XD
Definition 3 7
b
x =
ai 2 i
i=0
P
S?T:03n(6-.B"
T103š$'&Z& 9
y = bi=0 bi 2i
ai , bi Å {0, 1}
0 i b
: 03ˆ$ˆ! < $+"* P 00+&QR$ < TC! < B" -.0 <
#
BC03"55,`H_0 <XD
f
:
{0,
1}
→
{0,
1}
bitwise
operator
ϕ
f
P
- <p K0
-Z, D < D $',
9
f
ϕ (x) = b f(ai )2i
: 03O$N\5- < $+"* P 00+&QR$ f < TR! < B" -`i=0
<0
#
BR03"5
g : {0, 1}2 → {0, 1}
bitwise operator ϕg
Pb
,`H_0 <XD - <p K0
- , D < D $',
9i
g
ϕg (x, y) = i=0 g(ai , bi)2
Í uw
{|‚‚}vs.xKwŸ€Ix]{‚u3„?¡vsK}“ŠƒŠu3sK~¤x]tƒ€:x˜~žtƒ€5+~€:„4}v„vsK{‚ 3„v~5¨F{‚„'x]~5 wŸ€1x³ŽŠ_~¤˜{8x]tA€†Ñ1y £ƒ{|xw]~RŠƒwK~Ry
“
sK~5„'xŸ€:x]{|u3„m¥ ¾ tƒ€:x¤{|s5¡ 0000 w]~CŠvw]~5sK~C„x]s 0 ¡ 0001 wK~CŠvw]~5sK~5„'x]s 1 ¡=€1„v¨GsKufu3„?¡}vŠ¢x]u 1111 ˜™tƒ{|zdt
w]~CŠvw]~CsK~5„xKs 15 ¥
¾ tv~5„±Ž+u3}7z"€1„±zŸtv~5z]’ˆxKt[€Ix
ϕ (4, 13) = 13 ¡ ϕ (13, 9) = 6 ¡v€1„v¨ ϕ (2) = 13 ¥
® ~C+~CwŸ€:q£ƒ{|x˜{‚sK~FuŠ_~RwŸ€:x]uw]s7€:w] ~4¨ƒ~R¶[„v~5¨e”ªuw7x]tv~^
{‚„'x]~5 wŸ€1xŽŠ~5s±{‚„b‹6ŒoŒ‡¥ ¾ tƒ~Rw]~a{‚sˆ€
£ƒ{|x˜{‚s.~
¦·´Ð & ¡J€/£ƒ{|x˜{|sK~žÏ» | ¡_€1„v¨F€£ƒ{|x˜™{‚sK~ ™Ï» ^ ¡J€1s™˜~5‚€1s€/£[{8x³˜™{‚sK~¤·Ï ¾ ~ x]tƒ€:x
{‚s
}ƒs.}[€:‚|Žfw]~5”ª~RwKw]~5¨¢x]uf€1s BC032/Hm&c524 < ¥š¦s
x]tv~n€:w]{|x]tv‰œ~CxK{‚zžuŠ_~CwŸ€Ix]uw]s5¡mx]tv~£ƒ{‚„ƒ€:wKŽA£ƒ{|x˜{‚sK~
uŠ_~Cw]€:x]uw]sº ~dµ“z5~CŠvx@”ªuw ~ ¼=tƒ€5+~´€zCuwKw]~5s.Šu3„ƒ¨v{‚„v o€1sKs.{‚ 3„v‰œ~5„x=uŠ~CwŸ€:x]uw5¥ ¾ tv~Švw]~5z5~C¨ƒ~C„ƒzC~5s€:„ƒ¨
€1sKs.uz5{ª€Ix]{|{8x³Ž†u3”x]tv~5sK~
uŠ_~CwŸ€Ix]uw]s6€:w]~
‚{‚s.x]~C¨7{‚„ ¾ €:£ƒ‚~ ¥
Description
£ƒ{|x˜{|sK~z5u3‰†Šƒ‚~5‰œ~5„'x
£ƒ{|x˜{|sK~€1„v¨
£ƒ{|x˜{|sK~™µ“uw
£ƒ{|x˜{|sK~uw
€1„v¨f€:sKsK{‚ 3„v‰œ~5„'x
µuw€1s.sK{‚ 3„v‰œ~5„x
uw™€1sKsK{| 3„ƒ‰œ~C„x
Table 3:
Operator
~
&
^
|
&=
^=
|=
Arity
Ë
Prec. Assoc.
Ë
Ì
Ñ
Ñ
Ñ
w]{‚ 3t'x
‚~5”‚x
‚~5”‚x
‚~5”‚x
w]{‚ 3t'x
w]{‚ 3t'x
w]{‚ 3t'x
CCBC D < BCf$ <XD $',5,10B5-³$' -ZM-Z *G0]Tœ\"- (- ,:ˆ05H_CC$'K03U,:9
· ux]~nxKt[€Ix¤x]tv~œ”ª}v„ƒzRx]{‚u3„ƒ€1‚{|xŽAu3”²x]tv~5sK~LuŠ_~RwŸ€:x]uw]s
{‚sž{‚‰†Šƒ‚~5‰œ~C„xŸ€:xK{‚u3„F¨ƒ~R¶[„v~5¨?¡=sK{|„ƒzC~nx]tv~
´
£ƒ{|x˜{‚s.~‡wK~CŠvw]~5sK~5„'xŸ€:x]{|u3„ƒs
u3”²{‚„'x]~5 wŸ€1=xŽŠ~1€1‚}v~5s¤€Iw]~n„vux
s.Š_~5z5{8¶[~C¨^£Ž4x]tv~†‹6Œ
Œ s.xŸ€:„ƒ¨ƒ€:wK¨m¥
… ~Atƒ€5+~^u3„v|Ž ¨v{‚sKz5}vsKs.~5¨Nx]tv~A‰œu3s.xL”‚w]~5¯}ƒ~C„xaº €1„v¨N‰œu3s.xš‚{|’+~C|Žv¼nsK}vzŸtNw]~RŠƒwK~5sK~5„'xŸ€:x]{‚u3„vsš{‚„
® ~5zCxK{‚u3„ ¥ ¥ Ì¥žÓ@u3}4sKtvu3}v‚¨4x]tv~CwK~5”ªuw]~ 0 < &* }vsK~xKtƒ~CsK~uŠ~CwŸ€:x]uwKso˜™tƒ~C„^Ž+u3} >1< 03( x]tv~wK~CŠ“y
w]~5s.~5„xŸ€Ix]{‚u3„?¥ Ê +~5„fx]tv~5„?¡[~RµŠvw]~5s.sK{‚u3„vs{‚„'+u3|{‚„v /x]tv~q£ƒ{|x˜{‚sK~ouŠ_~Cw]€:x]uw]s™€:w]~¤{‚‰†Šƒ‚~C‰œ~5„xŸ€Ix]{‚u3„
¨v~C¶ƒ„v~5¨?¥
¾ tv{‚s{|s‰œu3s.xu£{‚u3}vs™˜™{|x]tfx]tv~¤£ƒ{|x˜{‚sK~
z5u3‰†Šƒ‚~5‰œ~5„'x"°~C+~5„4{‚”=˜~‡€1sKsK}v‰œ~qxKtƒ~žs`xŸ€1„v¨ƒ€:w]¨
£ƒ{‚„ƒ€:wKŽGw]~RŠƒwK~5sK~5„'xŸ€:x]{‚u3„Ou3” ® ~5zCxK{‚u3„ ¥ ¥½Ì¡x]tv~š1€1‚}v~šu3”´x]tv~š~RµŠvw]~5s.sK{‚u3„ ~0 ¨v~CŠ_~C„ƒ¨vs/u3„›x]tv~
„}v‰‡£_~Cw b u3”£ƒ{|x]s{‚„^x]tv~‡w]~CŠvw]~5s.~5„xŸ€Ix]{‚u3„?¥ ¾ tv{‚s€:‚}v~x]tv~Cw]~C”ªuw]~nzŸtƒ€1„v 3~5s˜tv~5„^Ž+u3}Gs.˜™{|x]zŸt
”‚w]u3‰ € 32y £ƒ{|x6‰L€1zŸtv{‚„v~x]u†€ 64y £ƒ{|x6‰L€1zŸtv{‚„v~¥
´Xb
@X6Ÿ6
2.3.5 Goals
¦xx]tv{‚sŠ_u3{‚„'x"¡Ž+u3}±s.tƒu3}v‚¨^¥5¥5¥
Dispositional.
ËU¼†’„vuU˜ x]tv~q£[€1sK{‚z¤xK~Cw]‰œ{‚„vu3‚u3 Žš€:wKu3}ƒ„v¨4Àuu3|~"€1„F”ª}v„ƒzRx]{‚u3„vs€1„v¨A}ƒ„v¨v~Cw]s`xŸ€1„v¨fx]tv~žz5u3„vz5~CŠvx
u3”Xz5u3‰†Šƒ‚~Cx]~C„ƒ~CsKs É
3¼†’„vuU˜
bool É
x]tv~‡xŽŠ_~ bool ¡?{|x]s1€1‚}v~žwŸ€1„v 3~¡m€1„v¨Fx]tv~/zCu3„+~Cw]s.{‚u3„vsq€1„v¨4uŠ_~CwŸ€:xK{‚u3„vs{‚„+u38{‚„v ¼œ}v„ƒ¨v~CwKs.xŸ€1„v¨fx]tv~¤~C1€1‚}ƒ€:x]{|u3„±u3”=~RµŠvw]~CsKsK{‚u3„vs{‚„'+u3|{‚„v ‚u3 3{‚z"€1m€1„v¨fw]~5‚€:x]{‚u3„ƒ€1?uŠ_~Cw]€:x]uw]s5¡
{‚„7Š[€:wKx]{|z5}vª€:wx]tv~oz5u3„vz5~CŠvx™u3”§sKtvuwKx™zC{|w]z5}v{|x~C1€1‚}ƒ€:xK{‚u3„?¥
– „7Š[€:wKx]{|z5}vª€:w"¡'Ž+u3}fsKtvu3}ƒ|¨ˆ£_~
€:£ƒ‚~x]u7¥C¥"¥
Operational.
ºÂ/ËU¼œŠvw]uU+~quw´¨v{‚s.Švw]uU+~o£[€1s.{‚zs.xŸ€:x]~C‰œ~5„x]s6€:£u3}vxÀuu3|~"€1„š”ª}ƒ„vzCxK{‚u3„vs É
ºÂ 3¼œŠvw]uU+~
˜™tv~Cx]tv~Cw6uw™„vux™€/ 3{8+~5„±sK~Cx´u3”§£ƒ{‚„ƒ€:wKŽˆÀuu3‚~"€1„ˆ”ª}v„ƒzRx]{‚u3„vs{‚s´zCu3‰†Š[|~Cx]~ É
ºÂ ¼L~R€1|}[€Ix]~6€o 3{|+~C„†~RµŠvw]~CsKsK{‚u3„†{|„+u3|{‚„v €Iw]{|x]tv‰œ~Cx]{|z¡1‚u3 3{|z"€1 ¡3€:„ƒ¨w]~5ª€:xK{‚u3„ƒ€1uŠ_~Cw]€:x]uw]s É
ºÂÑ'¼œwK~"€1¨ €1„v¨‘}v„v¨ƒ~Rw]s.xŸ€1„v¨ €A 3{|+~5„‘sK{‚‰†Šƒ‚~œŠvw]u3 wŸ€:‰ º sK~C~7£_~5‚uU˜¼d¡{‚„'+u3|{‚„v Au£ ~5zRx]s†u3”
€:wK{|x]tv‰œ~Cx]{‚z´x³ŽŠ_~/º {‚„vz5‚}v¨v{‚„v bool ¼€1„v¨f€:wK{|x]tv‰œ~Cx]{‚z1¡‚u3 3{|z"€1 ¡€1„v¨ˆw]~5‚€:x]{‚u3„ƒ€1uŠ~CwŸ€:x]uwKs5¥
¾ tƒ~/x]~Cw]‰ ,C-Z2/Hm&c‡H?50 p C$+2 w]~C”ª~Cw]s¤x]u7€šŠvw]u3 wŸ€1‰—x]tƒ€:x
z5u3„vsK{‚s.xKsqu3”€š‰L€1{‚„^”ª}v„vzCx]{|u3„^˜tv{‚zŸt
‚{ „7xK}vwK„±z5u3„vsK{‚s.xKs™u3”=€‡sK~5¯}ƒ~C„ƒzC~¤u3”X¨v~5z5ª€IwŸ€:x]{‚u3„7€1„v¨±~RµŠƒwK~5sKsK{‚u3„fs`xŸ€:x]~5‰œ~C„x]s5¥·™€:xK}vw]€1‚|Ž+¡u3„v|Ž
x]tv~o”ª}ƒ„v¨ƒ€1‰œ~5„'xŸ€1xŽŠ~5s™€:„ƒ¨7uŠ_~CwŸ€:xK{‚u3„vs6¨v{‚s.z5}vsKsK~5¨±{|„7x]tv~oŠvw]~Cz5~5¨v{‚„v nsK~CzCx]{‚u3„vs´€:w]~o}ƒs.~5¨?¥
2.3.6 Exercises
: 03
Exercise 18
n űÆ
S603(
2A$ < * D - ž55 < P 00+&QR$ < TC! < B" -.0 < ,
C03M703 D - ,`H?503Mn#J$'§T:03ˆ$'&l&
Exercise 19
f:Ä
→Ä
n
x, y, z ÅfÄ
dk+- ,5 ºÂ/ËU¼
ºÂ/ËU¼
€3¼ (x y) z = x (y z) ¥
º { ¥ ~1¥|¡ ´
Ïo»e{‚s´€1sKs.uz5{ª€Ix]{|+~U¼
Zº { ¥ ~¥8¡ (¦·´Ð , Ïo» ) {|s´¨v{‚s.x.w]{|£ƒ}“x]{|+~U¼
£J¼ (x ∧ y) ∨ z = (x ∨ z) ∧ (y ∨ z) ¥
z"¼ (x ∨ y) ∧ z = (x ∧ z) ∨ (y ∧ z) ¥
ºZ{ ¥ ~¥8¡ ( Ï» , ¦·´Ð ) {|s´¨v{‚s.x.w]{|£ƒ}“x]{|+~U¼
¨[¼ (x ↑ y) ↑ z = x ↑ (y ↑ z) ¥
º {Z¥ ~¥8¡v·´¦·™Ð¸{‚s6€1sKsKuz5{ª€:xK{|+~U¼
: 03
S
K5"27,ˆ0]T‡#
S x1 , . . . , xn 9 n Å
xi 1 i n
Exercise 20
Æ
S p -lM^$GMC\C$'& D 5,1B5"-8Hm -`0 <
0]T
x 1 x2 . . . -<
ºÂ/ËU¼
xn
03( #J$'7#ˆT10+&l&c03(- <p ,15#,Y0]TœTR! < B" -`0 < , $+5YBC032/Hm&c5K±T103O#›,:"^0]T
\"- < $+"* P 00+&cd$ < TC! < B" -.0 < ,:9
ºÂ 3¼
Exercise 21
€3¼ {¦·™Ð , ·Ï ¾ }
£J¼ { Ïo» , ·Ï ¾ }
z"¼ { ·´¦·™Ð }
¨[¼ { ·Ïo» } ¡˜™tv~Cw]~ž·™Ïo» := ·™Ï ¾
~"¼ {™Ï» , ¦ ·™Ð }
Ï»
¥
Óru3}¤‰L€5Žo}ƒs.~@x]tv~”Q€:zCx§x]tƒ€:x {¦·™Ð , Ï» , ·Ï ¾ } {|s§€6z5u3‰†Šƒ‚~Cx]~sK~Cx§u3”£ƒ{‚„ƒ€:wKŽqÀuu3|~"€1„¤”ª}v„vzCx]{‚u3„vs5¥
!H“H_0+,: S S±$ <XD
$+5›$'&l&M$+"-`$“\U&Q",›0]T4 *IH
9 : - <XD M$'&!§",/T103 S
Exercise 22 a b
c
int
Sœ$ <XD
T103F(6-.B5j#Gdk"H?5",5,C-`0 < ,
$ <XD
*'-.5& D D - žC5 < a b
a < b < c
a < b && b < c
5",R!&)#,:9 c
ºÂ ¼
$+C < #",C- ž#T:0+&Z&Q03(- <p dkUH?5",C,C-.0 < ,‡$vBCBC03 D - <p K0±05H_CC$'K03™H?5RBC D < BC",
$ <XD $',C,10B5-³$' Z- M-Z -.",:9
º  ¼
Exercise 23
€3¼ x != 3 < 2 || y && -3 <= 4 - 2 * 3
£J¼ z > 1 && ! x != 2 - 2 == 1 && y
z"¼ 3 * z > z || 1 / x != 0 && 3 + 4 >= 7
M$'&)!m$'K™#
dkUH?5",C,C-.0 < , p -ZM < - < kv5 5B5-Z,1
Exercise 24 4
4
X
<
D
< D
S S$
$+5š$'&Z&0]T/ *UH_
(- #
S
S$ X
/,5K.H
x y
z
int
x==0 y==1
z==2
J$'/Bd$ < *ƒ03! ,:$+*›$“\503!J
#A03!|H?!J/0]TL#T:0+&Z&Q03(6- <p
D .H_ <XD - <p 0 < #n- < H?!o$ <XD dkUHm&ª$+- < *[03![n5d$',10 < - <p 9
Exercise 25
K5"- n-Z
9
d\5* `,5K.H?S@$',C,C!J2ˆ- <p # J$'
ºÂ ¼
H?50 p C$+2
7
J$+C$vB
ºÂÑ'¼
# include < iostream >
int main ()
{
int a ;
std :: cin > > a ;
std :: cout < < ( a ++ < 3) < < " .\ n" ;
bool b = a * 3 > a + 4 && !( a >= 5);
std :: cout < < (! b || ++ a > 4) < < " .\ n";
return 0;
}
: - <XD #œ&c0 p -.Bd$'&?H$+C < #",1",†- < &- < ", a$ <XD 0]T#™T:0+&Z&Q03(6- <p H?50 p C$+249
<
J$'^BR$
*ƒ03! ,:$+* $“\503!7# 03!|H?!J40]TO#7T10+&l&c03(- <p H?50 p C $+2
J$+C$vB5K5"- ›- 7
D .H_ <XD - <p 0 < #n- < H?!o$ <XD dkUHm&ª$+- < *ƒ03!J/5d$',10 < - <p 9
ºÂÑ'¼
Exercise 26
# include < iostream >
int main ()
{
´Xb
@X6Ÿ6
Ì
unsigned int a;
std :: cin > > a;
unsigned int b = a ;
b /= 2 + b / 2;
std :: cout < < b < < "\n" ;
bool c = a < 1 || b != 0 && 2 * a / ( a - 1) > 2;
std :: cout < < c < < "\n" ;
return 0;
}
2.3.7 Challenges
»6~C+~Cw]s.~ u3‚{|sKt·6uxŸ€:x]{‚u3„
-Z,^$±T:03"24$'L0]Tf(6"-Z - <p dkUH?55,5,C-.0 < ,
(- #03!J$ < */H$+5 < #5,1",:9
\5RBR$+2^H_05H?!J&Q$+ž- < #‡&ª$'K < - < 5KC < ,C-ªk -.5,/(6 < #
BC032/H$ < * n5(
&Q"# $vB > $+ D ,5.$+UK D K0ˆ!J,1‡- $',¤- < H?!?T1032A$'mT:03LdkUH?5",C,C-.0 < ,L0 < #C-Z
D ", > K05HN$ <XD J$ <XD 5& D BR$'&QB5!&ª$'K03U,:9
]<
Sn( U,C†(6"-ZK¢#05H_5R$ <XD ,CSf$ <XD # < #05H_5C$'K03 #J$' ,4(6J$'L#
X
<
D ,6T:03 9 : 03ˆdkv$+2/Hm&c5S6#ˆdkUH?5",C,C-.0 <
5
,
.
$
»´~R+~Cw]sK~
Exercise 27
¦·´Ð ( Ïo» (0, ·Ï ¾ (¦·´Ð (0, 1))), 1)
RB $ < \5n("-Z#K < &)- > #- ,‡- <
0 0 1 ¦·™Ð
· Ï ¾
Ï» 1 ¦·´Ð .
š&ª$'#K5ˆ,1 "! < BC40]T±05H_5R$ <XD ,f$ <XD 05H_CC$'K03U, D < ",±$4,`H_CBC- BF5M$'&!$' -`0 < ,1
"! < BCL0]T¤#œŸkUH?5",5,R-.0 < S,1R CB" -`0 < 9 9 [9LX0fCM$'&)!m$'K†$ < dkUH?55,5,C-.0 < - <
S@(
p 0F#503! p G#œ,1 "!§ < BCTCC032 &Q T5K0f"- p “ ™(6 < 5M5ˆ( <XD $ < 05H_5C$ <XD S( D 0 < D 0›$ < *#- <p S\"!¤(6 < ( <XD $ < 05H5C$'K03 0]TF$+"- *
S¤(a5M$'&)!m$'K±- T:03f#
n
05H_5R$ <XD , D -Z5RB"#&*GK0F#œ&Q T5¤0]T- $ <XD 5`Hm&Q$vBRL#œ- < M0+&M D
,1 "!§ < BRF"&cC2^ < #n,
1
\"*œ#55,C!&)´0]T#‡5M$'&)!m$' -.0 < 9L@ < ( p 0K0n# < dk',1 "!§n < +BRn
"&Q524 < .9 ]< Bd$',10]T
03!Jˆdkv$+2/Hm&cL$“\503MCS™#-Z,H?501BCC D ,ˆ$',T10+&Z&Q03(6, B5!J"C < #&)*LH?50BR",5,1 D 05H_5C$'K03n- < \C0+& D
¾
0 0
AND} ·Ï
| 1 {z
0
Ï»
0 0
| NOT
{z }
1
¦·™Ð
0
| 1{zOR} 1
1
1
AND}
| 1 {z
1
1
Ïo» 1 ¦·™Ð
1 ¦·´Ð
3
X0±,:C†#J$'´#- ,‡- ,‡- <XD R D $7($+*G0]TL5M$'&)!m$' - <p #š03"- p - < $'&²dkUH?C",5,C-`0 <
¦·´Ð ( Ïo» (0, ·Ï ¾ (¦·´Ð (0, 1))), 1),
*ƒ03!ABd$ < T103
dkv$+2Hm&Q™2A$ > $n\50+#K032 ³!H D R$+(6- <p 0]T$ < dkUH?C",5,C-`0 < 5C CB" -`0 < 9 9
#J$'qBR03"5",`H_0 <XD ,K0f#š5M$'&!$' -.0 < ,1 "! < BCn- <
9¤VX03!a(-Z&Z& <XD #J$'´#- ,/ 5Cœ-Z,
$'&),107M$'&- D T103n#703"- p - < $'&²dk"H?5",5,C-`0 < 9
n55%BC0324",F#%$vB5 !$'&
Ÿkƒ55B5-Z,119
"-ZKšH?50 p C$+2±,
S
SL$ <XD
#J$'
and.C or.C
not.C
5RBC5-lM7$',ž- < H?!J$7,1 5!§ < BR
0]T†\500+&QR$ < M$'&)!",ž- <
$'&l&05H_5C$ <XD ,/K0ˆ#n&Q T5o0]T
s
{0, 1}
#F05H_5C$'K03 9‘f03!J|H?!o,503!& D \5ˆ#ˆ,1 "! < BC #J$'( p "/\"*^5.Hm&ª$vB5- <p #
&ª$',5
05H_5C$ <XD ,- <
(-Z#G#†5",C!J&8¤0]Tš5M$'&!$' - <p #s†55,`H_CB5 -ZMf05H_CC$'K03T103œ#52A9
n
s
]< Bd$',1^0]T
$ <XD
So(7!J,1
S$ <XD T103
9 : 03adkv$+2/Hm&cCSn0 <
and.C
or.C
n=2
not.C n = 1
<- H?!J
p
D
<
SƒH?50 C$+2
,C03!& 03!J|H?!r#o,1 "! BC
S§(´-Z&c
,503!J& D *'-.5& D ,
(1, 1, 0)
and
(1, 0)
not
9
(1, 1, 1)
]< $ D“D - -.0 < Sq(6"-ZKœH?50 p C$+27,
$ <XD
#J$'œ03!|H?!ž#F,: "! < BC 0\
s
: - < $'&l&)*'S("- KL$/H?C0 p C$+2
03
K0ˆ#zero.C
- < H?! 9 one.C
.$+- < D \"*4$"H“H_ <XD - <p $
(- #
0
1
s
eval.C
< 07- < H?! #J$'q03!|H?!J#,‡#752/Hm *F,1 "! < BC:9
p 01$'&0]T¤$'&Z&#-Z,- ,K0ˆCM$'&)!m$'K/\C00+&QR$ < TR! < B" -`0 < ,- <
\"*†,C-Z2/Hm&)*±Bd$'&Z&- <p #
S´(655L#703!|H?!
BC03"C",`H_0 <XD - <p ,1 "! < BCF0]TH?50 p R$+2±, H?CCBC D D \"*%$aBR$'&Z&rK0
eval
0]TG0 < ˆH?C0 p C$+2 - ,F!,1 D $',F- < H?!J´T:03^# < dk70 < A- < #a,1 "!§ < BR19 ]< ;=< -QkN$ <XD
- < !vkf#- ,šBR$ < 5&c p $ < #&)*%\5 D 0 < M-`$4$ Šƒ{|Š_~ 9 : 03±dkv$+2/Hm&cCS™K0aCM$'&)!m$'K†#±Ÿkv$+2Hm&Q
dkUH?C",5,C-`0 < TC5032 $“\C03Mn- <
S(†,R-Z2Hm&*F *UH_†#ˆBC03272A$ <XD
./ eval |./ zero |./ zero |./ one |./ and |./ not |./ or |./ one |./ and
-Z,šBd$'&Z&),š$'&l&r&- ,CK D H?50 p C$+2±,- < ![ < S™(6557$f,1.H$+C$' - <p
žRB"ž#J$'q#403!|H?!‡0]TL#H?C0 p C$+2 K0a#ˆ&cZT5n0]Tœ-Z
- ,œ!J,1 D
H?-8H D - < K
0 #oH?50 p R$+2 K0f#"- p “o0]T‡- .9
0 < ,: "! < #&)*'S#™(60+&Qo$ŸT:035524 < -.0 < D BC03272A$ <XD ,503!J& D
D $+ 7D 03!|H?! S#/5",R!&)
0]T‡#7CM$'&)!m$' -.0 < 9 8
&8,:0±K",56*[03![oH?C0 p
,1 "! < BC5,CS´- < H$+U -`B5!&ª$+œ# 0\"M-`03!, ˆ0 < ",L0]T#´T103"2
H?-8H†,C*'24\C0+& J$',n#
$',ˆ#š- < H?!J|@T103 -Z,
,C-Z2/Hm&)*q(6"-ZK K0¤,5.$ <
C$+27,(- #4,10312^š0+#5
./ eval |./ zero |./ one |./ or
#- ,L0 < ,503!& D 03!J|H?! 1 K0±2A$ > ,C!J5n#J$'™#5*F(03 > $',œdk"H_CB"K D 9
š- , < 0+ < CBR",5,:$+"* #J$'7*ƒ03!JAH?50 p C$+27,j$vBCBR.Hmf,1"!§ < BR", s 0]T
Hint:
&Q <p #A$',- < H?!.98
H?!JKH0+,1",:9
2A$1k'-Z2ˆ!J2
&Q <p #A0]T
“S“T:03dk“$+2Hm&Q5S=- ,,C!:h
+$ \5- C$+"*
B5-` < ƒT:03ž$'&Z&'H?R$vB" -.Bd$'&
´Xb
@X6Ÿ6