Логично И в Форт? - PullRequest
       9

Логично И в Форт?

13 голосов
/ 06 октября 2010

Я знаю, что слово AND определяет двоичный файл and ... но что определяет логический and?

Ответы [ 2 ]

12 голосов
/ 07 октября 2010

То же слово, AND, также используется для логических и . Но два входных значения для AND рекомендуется иметь правильно сформированные флаги ; true и false представлены двумя значениями: биты все установлены (-1) и биты все не установлены (0). Другие значения, кроме этих, могут работать как истина (как в C), но могут привести к незначительным ошибкам.

Все операторы сравнения возвращают правильно сформированные флаги, но, например, - - нет. Следующее оценивается как ложное (0).

7 5 - 7 3 - AND

AND получает битовые комбинации 100 и 010. Результат равен 0 (как это происходит с битами и ).

Ссылки:

  1. Битовые манипуляции в Forth , часть Learning Forth Бит по битам .
  2. Раздел "Маленькая логика" в Глава 4 из Начиная с Forth .
0 голосов
/ 10 февраля 2015

Forth AND является побитовым AND для 64-битных значений.Конечно, эти операторы хорошо работают с масками.Но если все эти значения равны единице или всем нулям, результатом также являются все единицы или все нули (то же самое верно для побитовых операций OR и XOR INVERT.).

Логический флаг в Forth - это все единицы или все нули.Таким образом, если входные данные являются логическими флагами, выходные данные AND ИЛИ XOR INVERT также являются логическими значениями, и эти операторы, таким образом, могут использоваться для представления логических операторов.Обратите внимание, что такие операции, как = <0 =, приводят к булевому флагу. </p>

С + аналогичная ситуация.Поскольку целые числа определены как два дополнения, + (плюс) можно использовать для чисел со знаком и без знака.Таким образом, не существует отдельного имени для целого числа без знака.

...