Утверждение о возможности описать математически все явления в мире несколько перекликается с идеей
, однако ИМХО даже в рамках классической механики оно содержит внутреннее противоречие: для бесконечно точного описания детерминированных явлений и для операций над такими описаниями потребуются бесконечные ресуры. Сможет ли демон Лапласа описать самого себя?
А если рассматривать подобные идеи не как абстрактные философские рассуждения, а с практической точки зрения (что и подразумевалось в Вашем утерждении
, то даже в рамках детерминизма ясно, что это невозможно. Даже если забыть про квантовую механику...
Основа счета ЭВМ - триггер ( система, которая может быть в двух состояниях ).
Это не вполне верно. Система с
устойчивыми состояниями - это лишь основа для хранения информации в виде числа в системе счисления с основанием
. Даже для того, чтобы реализовать простейшую арифметическую операцию для
- сложение однобитных чисел по модулю 2 (сложение без переноса или операция "исключающее ИЛИ") - триггера недостаточно, требуется дополнительная логика. А еще есть другие логические операции: И, ИЛИ, которые, кстати, просто реализуются без триггеров.
Для другой операции суммирования, которая чаще всего подразумевается в математике, - сложение с переносом - требуется еще и реализация схемы переноса.
Вот Вы мне расскажите, как сдвинуть вправо 8-битное число на один разряд с использованием операции сложения. Или поделить на два (умножить на одну вторую) с помощью только операций сложения. Или - что еще проще - вычесть из одного положительного (или беззнакового) другое.
Здесь я не вполне аккуратно выразился. На первый взгляд, опериции сдвига можно выполнить и с помощью сложения. Сдвиг
влево в двоичной арифметике - здесь все тривиально: просто сложение числа с самим собой. Сдвиг
вправо - несколько сложнее; если требуется сдвинуть число разрядностью
вправо на
разрядов, то надо иметь хранилище разрядностью
, выполнить с помощью сложений сдвиг
влево на
разрядов, а затем из результата выделить
старших разрядов. На первый взгляд кажется, что таким образом, хоть и крайне неудобным в аппаратной реализации, можно действительно обойтись лишь операцией сложения. Но это лишь самообман: требуется дополнительная операция выделения
старших разрядов; если отвлечься от реализации и попытаться дать название этой дополнительной операции, то окажется, что мы имеем дело с... делением на
! Так что попытка обойтись без сдвигов при реализации операции деления приводит... к скрытому использованию операции деления.
То же самое касается инверсии, без которой не удасться реализовать тривиальное вычитание: можно воспользоваться побитным исключающим ИЛИ, но это означает, что помимо обычной операции сложения требуется еще один тип операции. Побитное исключающее ИЛИ можно реализовать путем некоторых ухищрений с помощью оперции сложения и выделения одного разряда (это, правда, совсем уж через задницу), но и здесь, как сказано выше, требуется дополнительная операция.
То же касается и логических операций: можно эмулировать логические значения 0 и 1 целыми числами, но ни с практической точки зрения, ни при абстрактном рассмотрении операций одной операцией сложения "в чистом виде" обойтись не удастся.
А ведь еще в любой вычислительной машине, представляющей конечный автомат, есть узел реализации этого автомата, узлы хранения данных и хранения описания состояний и перехода автомата (попросту - хранения программы), узел исполнения программы, ввода-вывода и т.д. Так что ни на абстрактном уровне, ни на уровне реализации сводить вычислительное устройство к сумматору совершенно некорректно.
Я имел в виду таблицу умножения Пифагора.
А
kkdil, видимо, имел в виду логическое умножение (операцию И).
Да, конечно, еще один способ реализации решающего устройства есть использование таблиц истинности: для выполения операции над двумя дискретными операндами с ограниченным диапазоном значений достаточно составить соответствующую таблицу. Но это полезно лишь в ограниченном числе случаев и уж тем более не позволяет свести решающее устройство к сумматору.