булева алгебра-построить элемент или как элемент NAND


Я пытаюсь обернуть мою голову вокруг, как это сделать. Поскольку я понимаю, что набор логических элементов называется "функционально полным", если некоторая комбинация элементов может быть использована для выполнения каждой из основных логических операций и, или, и не. Утверждение состоит в том, что ворота NAND функционально завершены.

Чего я не понимаю, так это как построить ворота или как ворота nand. построить ворота и из ворот NAND и т. д.. должна ли формула, которую я придумал, иметь то же самое выход?

 X' = X NAND 1
 X + Y = ?
 X * Y = ?

Используя таблицу истинности, как X' = X NAND 1?

Я не уверен, что означает X NAND 1.. Насколько я понимаю, 1 фиксируется как y?

Я запутываюсь, когда вижу ворота между 2 входами, такими как x NAND y

Как построить таблицу истинности для x+y = NAND?

Или я должен сделать это по-другому?

4 2

4 ответа:

Просто идите по определению:

X NAND Y = ~ (X И Y) = ~X ИЛИ ~Y

Подставьте Y = 1 и увидите, что вы получите

X NAND 1 = ~X ИЛИ ~1 = ~X ИЛИ 0 = ~X = X '

Редактировать:

Просто чтобы вы поняли, как построить другие ворота с помощью NAND gate, эта статья Википедии очень хороша и информативна. Надеюсь, это поможет.

Http://en.wikipedia.org/wiki/NAND_logic

Да, X NAND 1 похоже на X NAND Y с Y фиксированным как 1. То, с чем вы сравниваете X, не обязательно должно называться Y; это может быть любая переменная, любая константа или результат другого сравнения. Все, что имеет значение, является ли значение 0 или 1, в конце концов.

Пример:

 X | Y | 1 | X OR Y
---+---+---+--------
 0 | 0 | 1 |    0
 0 | 1 | 1 |    1
 1 | 0 | 1 |    1
 1 | 1 | 1 |    1

Теперь вы могли бы сделать X AND Y, X AND 1 или просто сравнивая числа в первом столбце с числами во втором, третьем или четвертом столбцах соответственно.

Что касается NAND конкретно, просто помните, что это означает противоположность AND. На самом деле это означает "не и."Итак, если вы AND соедините две вещи вместе и получите 0, то NAND, соединяя те же две вещи вместе, вы получите 1.

Тем не менее, ваш последний вопрос не имеет особого смысла. Нет такой вещи, как X+Y = NAND. X, Y и X+Y - это значения; NAND - это ворота. Вы не можете сравнивать числа с вратами. Ваш вопрос состоит в том, чтобы использовать NAND Гейтс для сравнения вещей снова и снова, пока вы не получите столбец нули и единицы, которые выглядят так же, как X+Y.

Правка:
Хорошо, давайте рассмотрим ваш вопрос "используя таблицу истинности, как X' = X NAND 1?"

 X | X' | 1 |   X AND 1   | X NAND 1 is the same as the opposite of X AND 1
---+----+---+-------------+-------------------------------------------------
 0 | 1  | 1 | 0 AND 1 = 0 |               1 (opposite of 0)
 0 | 1  | 1 | 0 AND 1 = 0 |               1 (opposite of 0)
 1 | 0  | 1 | 1 AND 1 = 1 |               0 (opposite of 1)
 1 | 0  | 1 | 1 AND 1 = 1 |               0 (opposite of 1)

И глядя на каждый столбец, мы можем видеть, что X' имеет те же значения, что и X NAND 1

NAND в основном является обратной стороной и:
Таблица Истинности

A    B    A NAND B   A AND B   A OR B   A NOR B
0    0       1         0         o         1
0    1       1         0         1         0
1    0       1         0         1         0
1    1       0         1         1         0
Делая правильные комбинации, используя эти и остальные булевы операторы, вы должны быть в состоянии построить любой из них в терминах других

Быстрые таблицы истинности:

NAND 1 0
0    1 1
1    0 1

OR 1 0
0  1 0
1  1 1

NOT
1   0
0   1
Функционально завершенный означает, что, учитывая кучу полных ворот, вы можете построить любой другой тип ворот. Таким образом, если вы построите схему с 1 стробом NAND, вы получите в точности противоположность стробу OR (обратные входы). Если ваша цель состоит в том, чтобы построить ворота или, вы должны инвертировать входные данные ворот NAND. Это легко сделать с парой не-гейтов (которые, если вы посмотрите внимательно, такие же, как ворота NAND с одним из его входов, привязанных к логический 1). Итак, вы ставите эти ворота не перед вашими воротами NAND ивуаля , ворота OR выпадают.

Для вашей путаницы, помещая затвор между его двумя входами, вы просто используете этот затвор как двоичный оператор, например знак+. Это то же самое, что сказать NAND(X, 1) или "выход элемента NAND, когда его входы X и 1."