Реферат: АвтоЛИСП - реализация языка программирования

1 1 1

Каждый бит <int1> имеет пару соответствующего бита <int2>, выбирая один горизонтальный ряд истинностной таблицы. Бит результата или ноль, или 1, в зависимости от установки бита <func>, соответствующего этому ряду истиностной таблицы. Если соответствующий бит задан в <func>, бит результата 1, в противном случае бит результата - 0.

Некоторые значения для <func> эквивалентны стандартным булевым операциям AND, OR, XOR и NOT. Они представлены ниже:

Функция Операция Бит результата 1,если...

-------------------------------------------------------

1 AND оба входных бита - 1

6 XOR только один из двух входных битов - 1

7 OR любой или оба из входных битов

8 NOT оба входных бита - 0 (чье-то дополнение)

Например:

(Boole 1 12 5)

определяет логическое AND для значений 12 и 5. Результат 4. Аналогично:

(Boole 6 6 5)

определяет логическое XOR для значений 6 и 5,в результате - 3.

Вы можете применять другие значения <func> для выполнения других булевых операций, для которых эти имена не являются стандартными. Например, если <func> - 4 , биты результата заданы, если заданы соответствующие биты в <int2>, но не в <int1>. Таким образом:

(Boole 4 3 14)

введет 12.

4.27 (boundp <atom>)

Эта функция вводит T, если <atom> имеет значение, близкое к нему (не взирая на контекст). Если же нет значения, близкого к <atom> (или если оно близко к нулю), вводится ноль. Например, заданы назначения:

(setq a 2)

(setq b nil)

тогда:

(boundp 'a) вводит T

(doundp 'b) вводит nil

4.28 caar, cadr, cddr, cadar, etc.

АвтоЛИСП обеспечивает связь CAR и CDR до четырех уровней вглубь. Например, задано назначение:

(setq x '((a b) c d))

тогда:

(caar x ) эквивалентно (car (car x)) вводит A

К-во Просмотров: 562
Бесплатно скачать Реферат: АвтоЛИСП - реализация языка программирования