Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как ЭВМ выполняет математические вычисления (например, умножение или деление)?

МатематикаКомпьютеры+3
Грачья Асланян
  · 2,0 K
Разработчик встроенных систем, немного радиолюбитель.   · 30 мар 2021  · vladimir-coslow.narod.ru/index.html

Помнится, целочисленные операции сложения и вычитания элементарны и реализуются чисто хардовым сумматором, входящим в состав АЛУ любого процессора.

С умножением сложнее, но и его можно реализовать хардовым АЛУ путём сложения целых чисел, предварительно сдвинутых на некоторое число разрядов, т.е. выполнить за 1 такт процессора комбинационной логикой.

А вот с делением уже сложнее: его приходится организовывать алгоритмически. То есть либо в микропрограмме внутри команды процессора прописывать алгоритм деления длиной во много тактов процессора, либо не включать его вообще в систему команд, а делать софтом, что ещё дольше (зато все остальные команды действительно будут выполняться за 1 такт). Именно на этом свойстве операции деления строится невозможность "быстрого" подбора паролей в компьютерах: если задать требуемую длину пароля, то время его подбора (вскрытия) легко превысит время существования Вселенной.

)

Чтобы ни дня в жизни не работать, на практике совмещаю работу с хобби.Перейти на vladimir-coslow.narod.ru/index.html
1 эксперт согласен

Неужели слишком сложно объяснил?

)

пользователь TheQuestion.  · 23 окт 2017
Ничего особенно сложного.  0*0, 0*1, 1*1 -- нет проблем умножать? Также как и сложение, такие операции можно делать даже механическим устройством. Рычажками переключающимися. Эти операции умели осуществлять и механические арифмометры.  Значит просто переводим число в двоичную систему и умножаем. Умножаем "в столбик", т.е. по разрядам. Читать далее