~~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.