逻辑和在第四?

时间:2010-10-06 14:18:45

标签: keyword logical-operators forth

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

2 个答案:

答案 0 :(得分:12)

同一个词AND也用于逻辑。但建议AND的两个输入值为格式正确的标志; true false 由两个值表示,所有设置位(-1)和所有未设置的位(0)。除此之外的其他值可能正常(如在C中),但可能会导致细微的错误。

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

7 5 - 7 3 - AND

AND得到位模式100和010.结果为0(因为它按位)。

参考文献:

  1. Bit Manipulations in Forth逐位学习的一部分
  2. 开始的Chapter 4中的“小逻辑”

答案 1 :(得分:0)

Forth AND是64位值的逐位AND。当然这些操作员可以使用面罩。但是如果这些值都是1或全0,则结果也是全部为零或全为零(对于逐位OR和XOR INVERT操作也是如此)。

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

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