~~NOCACHE~~
require($_SERVER["DOCUMENT_ROOT"] . "/interactive/interactive.php");
===== Полный сумматор для двухбитных чисел =====
Построим сумматор для двухбитных чисел. Его можно сделать из одного полусумматора и одного полного сумматора. Для младших битов хватит полусумматора, потому что мы точно знаем, что переноса из младшего бита не будет, так как они и так самые младшие. А вот для второго бита нужен полный сумматор, так как перенос из предыдущего бита очень даже может быть.
===Принципиальная схема===
pinlab_draw_picture("summator2bit.sch");
С помощью DIP- переключателя мы будем задавать значения слагаемых чисел.
pinlab_draw_picture("DIP_summator2bit");
Двумя левыми переключателями задается число A, двумя правыми — B. Как и принято в математике, старший бит находится слева. Результат сложения двух чисел отображается тремя светодиодами, также расположенными слева направо в порядке понижения разряда. Самый правый светодиод отображает состояние самого младшего разряда, а самый левый — самого старшего.
===Таблица компонентов===
pinlab_bom("summator2bit.mont");
===Монтажная схема===
pinlab_draw_instruction("summator2bit.mont");
Как видно схема получилась достаточно большой и сложной, хотя предназначена всего для суммирования двухбитных чисел. Современные компьютеры оперируют с 64 битными числами и умеют отнюдь не только складывать их. Поэтому в процессорах содержится несколько миллиардов транзисторов. Такой процессор, пожалуй, не получится собрать на макетной плате.
Попробуем поэкспериментировать с сумматором.
^ A ^^ B ^^ Сумма ^^^
|0|0 |0|0 |0|0|0|
|0|0 |0|1 |0|0|1|
|0|0 |1|0 |0|1|0|
|0|0 |1|1 |0|1|1|
|0|1 |0|0 |0|0|1|
|0|1 |0|1 |0|1|0|
|0|1 |1|0 |0|1|1|
|0|1 |1|1 |1|0|0|
|1|0 |1|0 |1|0|0|
|1|0 |1|1 |1|0|1|
|1|1 |1|1 |1|1|0|
Можно убедиться, что собранный сумматор умеет правильно складывать числа.
Вычислите без применения электронных устройств суммы следующих четырех-
битных двоичных чисел (бит переноса из четвертого разряда, если он есть, записывайте в пятый разряд): 0101+1010, 1110+0001, 1001+0011, 1010+0011,
1010+0111.