我知道 AND 字定义了二进制and
...但是什么定义了逻辑and
?
问问题
1570 次
2 回答
12
同一个词 ,AND
也用于逻辑和。AND
但是建议将两个输入值作为格式良好的标志;true和false由两个值表示,bits all set (-1) 和 bits all unset (0)。除了这些值之外的其他值可能会起作用(如在 C 中),但它可能会导致细微的错误。
所有比较运算符都返回格式良好的标志,但例如-
不返回。以下评估为假 (0)。
7 5 - 7 3 - AND
AND
获取位模式 100 和 010。结果为 0(因为它是按位和)。
参考:
- Forth 中的位操作,是逐位学习 Forth 的一部分。
- 开始的第 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 回答