奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 98 页

PDF 物理页索引 114 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
98
PDF 物理页
114(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
2fd74851e1783b65cb7258d941a925bb0e519ebdc1bd05abbad3be3526b0c816

$$
\begin{array} { r l } & { ( M \operatorname { A N D } N \operatorname { A N D } \left( W \operatorname { O R } T \right) ) } \\ & { \qquad \operatorname { O R } } \\ & { ( F \operatorname { A N D } N \operatorname { A N D } \left( \operatorname { N O T } W \right) ) } \\ & { \qquad \operatorname { O R } } \\ & { \qquad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ & { \qquad \quad \quad \quad \quad \quad \quad \quad \quad \quad B } \end{array}
$$

有了这个公式,店员就可以做一个布尔测试了。为了避免麻烦,我采用了一种略微有点不同的布尔代数形式—一字母不仅仅代表集合。这里,字母可以用数字来赋值。我们只用数字0和1。数字1代表YES,True,即这只猫是符合这样的标准的。数字0表示NO,False,即这只猫不符合这种特定标准。

首先,店员拿出了一只未绝育的褐色公猫。以下是我期望得到的猫的表达式:

$$
( M \times N \times ( W + T ) ) + ( F \times N \times ( 1 - W ) ) + B
$$

以下是用0和1替换之后的式子:

$$
( 1 \times 0 \times ( 0 + 1 ) ) + ( 0 \times 0 { \times } ( 1 - 0 ) ) + 0
$$

注意,只有M和T的值为1,因为这只猫是褐色的公猫。

现在我们要做的就是化简这个表达式。如果简化结果为1,则这只猫就符合你的标准;如果简化结果为0,那么这只猫就不符合。在化简的时候要切记,我们并不是真的在进行加和乘的运算,尽管通常我们可以当做是。符号“+”代表OR,符号“×”代表AND,在大多同类的规则中适用(有时在现代课本中也使用符号“∧”和“√”来表示AND和OR,而非用符号“×”和“+”。但是在这里符号“+”和“×”是具有特殊意义的)。

当符号“×”代表AND时,有以下几种可能的结果:

$$
\begin{array} { l } { 0 \times 0 = 0 } \\ { 0 \times 1 = 0 } \\ { 1 \times 0 = 0 } \\ { 1 \times 1 = 1 } \end{array}
$$

也就是说,只有当运算符AND左右两端都为1的时候,结果才为1。这个运算与常规的乘法是完全相同的,该规则可以总结为如下这样一个表格,这与第8章中加法和乘

编码隐匿在计算机软硬件背后的语言

98