Как компьютер складывает числа?

 Как компьютер складывает числа?

Все компьютерные вычисления производятся в двоичной системе с использованием базовых электронных элементов - разнообразных видов переключателей. Некоторые из этих переключателей - AND(и), OR(или), XOR(исключающее или) - называются логическими элементами, потому что каждый из них дает логический предустановленный результат при использовании двоичного кода. Поскольку они работают и на проведении и на сопротивлении электрического тока: нет напряжения - означает 0, есть напряжение - означает 1, логические элементы иначе называются воротами. Все эти «ворота» похожи между собой тем, что каждый из них имеет больше одного ввода, но всего один вывод.

Логический элемент AND(и) дает 1 на выводе, только если все его вводы соответствуют единице. Точно так же «ворота» OR(или) дают ноль на выводе, если все его вводы равны 0. «Ворота» XOR(исключающее или), напротив, дают 1 на выводе, если на вводе один 0 и одна 1, и производят 0, когда на вводе два ноля и две единицы. Всего на трех элементах, подобных этим, компьютерщики разработали компьютерные схемы (нижняя диаграмма справа), такие как сумматорная схема, которая выполняет сложение.

Полусумматор назван так потому, что он может складывать только две цифры в двоичной системе и производить результат, состоящий из одной цифры и одного переноса. Поскольку они не могут оперировать со следующими один за другим переносами, полусумматоры часто используются в качестве первой строки логической схемы. Каждый полный сумматор может оперировать с двумя цифрами и переносом и принимать перенос из предыдущей суммы в цепи. Сумматоры справляются с любыми арифметическими задачами, поскольку сложение является основным арифметическим действием: умножение - это повторное сложение, вычитание - это прибавление отрицательного числа, деление - это повторное вычитание.

Логическая схема ввода/вывода

«Ворота» AND(и) выпустят 1, если на обоих вводах окажется 1. Любая другая комбинация на вводе произведет 0 на выводе.

«Ворота» OR(или) выпустят ноль, если на обоих вводах окажется ноль. Если хотя бы на одном из вводов появится единица, то следует ожидать единицу и на выводе. «Ворота» XOR(исключающее или) выпустят 0, если оба ввода впустят по нулю или по единице. Если на вводе 1 и 0, на выводе будет 1.

Как работает полусумматор

Наверху представлена схема сложения двух одноцифровых двоичных чисел, состоящая из схемы XOR(сверху) и схемы AND(внизу). При слбжении двух единиц напряжение верхнего сумматорного канала проходит через ворота XORи дает 0 на выходе. Ворота ANDпреобразовывают две единицы на вводе в одну 1 на выводе. Результат 10 (читается как один-ноль) двоичной системы соответствует числу 2 десятичной системы.

Полный сумматор

В комбинации полусумматор (сверху) и полный сумматор (снизу) могут выполнять операции с большими числами, требующими переноса. Чтобы сложить 2 и 3 или 10 и 11 в двоичном исчислении, полусумматор начинает работу с ворот XORи производит 1. Ворота ANDгенерируют 0, который переносится в полный сумматор. В свою очередь, полный сумматор проводит напряжение числа 11 через пять ворот, подбирает перенос из полусумматора и выводит 1 и 0. Когда эти цифры комбинируются с 1 из полусумматора, получается результат 101, или 5 в десятичном исчислении. Для сложения больших чисел используется больше полусумматоров, один для каждой цифры двоичного кода.