Функции двух аргументов
Оглавление
Функции двух аргументов
Страница 2
Страница 3
Страница 4
Страница 1 из 4
Таких функций уже шестнадцать (табл. 4.3).
Таблица 4.3. Двоичные функции двух двоичных аргументов
а |
b |
f1
(^) |
f2
![](../../../../pic/mcad14/tmp3A88-257.jpg)
|
f3
(
-
) |
f4
![](../../../../pic/mcad14/tmp3A88-259.jpg)
|
f 5
(
>
) |
£6
(
<
) |
f7
(
v
) |
f8
(|) |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
а |
b |
f9 |
f10 |
f11 |
f12 |
f13 |
fl4 |
f15 |
f16 |
|
|
(>) |
(<) |
(
¬a) |
(
¬b) |
(a) |
(b) |
(1) |
(0) |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
Табл. 4.3 делится на две части: "именную" (f 1—f 8) и безымянную (f 9—f 16).
Вот имена первых восьми21 функций:
- f 1 — конъюнкция (логическое умножение), обозначается:![](../../../../pic/mcad14/tmp3A88-264.jpg)
![](../../../../pic/mcad14/tmp3A88-265.jpg)
- f 2 — дизъюнкция (логическое сложение), обозначается: v, +, ИЛИ, Or, |
|,
max;
- f з — равнозначность (эквивалентность, тождественность),
обозначается:
![](../../../../pic/mcad14/tmp3A88-266.jpg)
- f 4 — неравнозначность (неэквивалентность, разделительная дизъюнкция, сумма
по модулю 2), обозначается:![](../../../../pic/mcad14/tmp3A88-267.jpg)
- f 5 и f 6 — импликация (f 5 — импликация от а к ь
(обозначается:
—
импликация от b к а, логическое следование (обозначается:
![](../../../../pic/mcad14/tmp3A88-270.jpg)
- f7 — функция (стрелка) Пирса (функция Вебба, функция Даггера,
антидизъюнкция), обозначается:![](../../../../pic/mcad14/tmp3A88-271.jpg)
- f 8 — функция (штрих) Шеффера (антиконъюнкция),
обозначается:![](../../../../pic/mcad14/tmp3A88-272.jpg)
Остальные восемь функций табл. 4.3 (f 9—f 16, как, впрочем, и три последние
функции табл. 4.2) не имеют ни имен, ни практического применения. Это либо
константы (f15 и f16), либо функции только одного аргумента (f11—f14-Имя, да и
то условно, можно дать только функциям f9 и f 10 — инверсия импликации.
Табл. 4.2 и 4.3 следует прокомментировать.
В табл. 4.2 и 4.3 собраны имена функций и символы операторов по
всем двадцати позициям (4+ 16). Для этого пришлось несколько
схитрить—-"притянуть" в круг двоичных функций операторы, прямо для этого не
предназначенные: > (больше) и < (меньше), например. Эти операторы хоть
возвращают двоичный результат, но предназначены для работы с вещественными, а не
с двоичными операндами! Этой особенности (ее можно назвать "заглавной"
особенностью данного раздела книги) мы еще коснемся в последнем пункте.
Автор попытался собрать все имена функций и символы операторов,
использующихся для реализации двоичной арифметики. Список, конечно, неполный.
Читатель может расширить его примерами из других языков программирования
(Pascal, FORTRAN и др.) и математических программ (Maple, MATLAB, Mathematica и
др.).
Можно отметить избыточность функции в табл. 4.2 и 4.3. В языках
программирования разработчику предоставляется некий ограниченный набор
встроенных двоичных функций и операторов. Вот перечень таких функций и
операторов, встроенных в популярные программные среды:
ЯЗЫК BASIC: Not, And, Or, Xor И Imp;
язык С: !,&,&&,!=, || И ==;
Примечание
& — это логическое умножение, а && — побитовая конъюнкция.
среда Mathcad:
(см. рис. 4.24).
Примечание
Последние указанные операторы были встроены только в Mathcad 2000. Но
пользователи Mathcad уже давно научились разными методами реализо-вывать
конъюнкцию и дизъюнкцию. Для этого либо использовались арифметические действия
"помножить" и "сложить", либо вводились пользовательские функции And И Or.
Недостающие двоичные функции (операторы) программист может ввести в программу
через механизм пользовательских функций и операторов.
Пред. - След. »