home | login | register | DMCA | contacts | help | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


my bookshelf | genres | recommend | rating of books | rating of authors | reviews | new | форум | collections | читалки | авторам | add



Какую разновидность чисел ваш компьютер будет использовать, и что он будет с ними делать

Вы собираетесь использовать двоичную систему исчисления для компьютера по двум причинам: вы придумали их еще в разделе 3.3, а кроме того, это облегчает процесс, поскольку оставляет в вашем распоряжении всего два возможных значения: 0 и 1[237]. Теперь осталось только придумать, что ваш компьютер будет делать с этими цифрами. Идеальная ситуация подразумевает, что наша машина может их складывать, отнимать, делить и умножать, но нужно ли на самом деле все это?

Другими словами, какой минимальный набор возможных действий для вычисляющей машины? Так получается, что у компьютера нет технической потребности знать, как умножать, поскольку любое умножение можно представить в виде повторяющегося сложения: 10 умножить на 5 то же самое, что добавить 10 к самому себе 5 раз.

Поэтому умножение заменяем сложением:

x x y = x, прибавленный к самому себе y раз

Вычитание мы убираем тем же самым образом: 10 минус 5 равно 10 плюс –5 (отрицательное число).

Поэтому вычитание тоже заменяем сложением:

x – у = x + (—y)

И да, деление тоже можно заменить сложением.

Если мы делим 10 на 2, то мы пытаемся узнать, сколько раз 2 умещается в 10.

Можно рассчитать это, прибавляя 2 к самому себе (как мы делали при умножении), но в этот раз отслеживая, сколько двоек мы добавили, пока не добрались до нужного значения. 2 + 2 +2 + 2+ 2 = 10, то есть пять двоек, поэтому 10 разделить на 2 будет 5. Подобная техника работает даже с числами, которые нельзя разделить без остатка: необходимо добавлять до тех пор, пока следующее добавление не приведет вас за пределы числа, в котором вы заинтересованы, а то, что при этом останется, как раз и будет остатком[238].

Отсюда:

x / y = y добавляется к себе столько раз, чтобы получился x, а потом мы считаем число добавлений

Таким образом, четыре базо вые математические операции – сложение, вычитание, деление и умножение – можно свести к одной, к сложению. Поэтому, чтобы изготовить компьютер, вам нужно построить машину, способную складывать числа.

Разве это не круто, а?


17 Компьютеры: как превратить умственный труд в физическую работу, чтобы вам не приходилось напрягать мозги, а можно было просто дернуть за рукоятку или что-то подобно | Как изобрести все | О чем вообще речь и как можно говорить о сложении, если я даже не знаю, как работают компьютеры?