13

我知道 AND 字定义了二进制and...但是什么定义了逻辑and

4

2 回答 2

12

一个词 ,AND也用于逻辑AND但是建议将两个输入值作为格式良好的标志truefalse由两个值表示,bits all set (-1) 和 bits all unset (0)。除了这些值之外的其他值可能会起作用(如在 C 中),但它可能会导致细微的错误。

所有比较运算符都返回格式良好的标志,但例如-不返回。以下评估为假 (0)。

7 5 - 7 3 - AND

AND获取位模式 100 和 010。结果为 0(因为它是按位)。

参考:

  1. Forth 中的位操作,是逐位学习 Forth 的一部分。
  2. 开始的第 4 章中的“一点逻辑”部分。
于 2010-10-07T19:47:41.083 回答
0

Forth AND 是对 64 位值的按位与。当然,这些操作员可以很好地使用口罩。但如果这些值全为 1 或全为零,则结果也全为 1 或全为零(按位 OR 和 XOR INVERT 操作也是如此。)。

Forth 中的布尔标志是全一或全零。因此,如果输入是布尔标志,则 AND OR XOR INVERT 的输出也是布尔值,因此这些运算符可用于表示布尔运算符。请注意,像 = < 0= 这样的操作会产生一个布尔标志。

情况与 + 相同。因为整数被定义为二补码,+(加号)可用于有符号数和无符号数。因此,整数的无符号加法没有单独的名称。

于 2015-02-09T22:24:39.690 回答