www.chms.ru - вывоз мусора в Балашихе 

Динамо-машины  Обратные коды 

1 2 3 4 5 6 [ 7 ] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189

Таблица 1-3

Функция fo(n)

/о(п)

1.000

1,262

1,500

1,725

,1,913

2,138

2,333

2,524

2,709

Нужно помнить, что функция /о ( laquo;) дает не соотношение. отрезков времени, необходимых для выполнения умножения, а только соотношение количества сложений. С одной стороны, выполнение умножения включает не только сложения, но и сдвиги множимого. Количество сдвигов равно количеству разрядов в множителе.Оно,следовательно, тем меньше, чем больше основание системы счисления п. Это несколько улучшает временные соотношения для систем счисления с высокими основаниями. С другой стороны, сама длительность выполнения одного сложения при больших п может оказаться больше, чем в двоичной системе, что приведет, наоборот, к ухудшению временных соотношений для высоких значений п. Однако функция /о (п) дает в обш,ем правильное представление о зависимости времени выполнения умножения от основания системы счисления.

Мы увидим из дальнейшего (4.2, 4.4), что и при использовании других методов выполнения умножения двоичная система при прочих равных условиях обеспечивает более высокое быстродействие, чем какая-либо другая система счисления. Суш,ествуют, правда, методы, позволяющие до-, стигнуть в десятичной системепримерно таких же скоростей, как в двоичной. Но для осуществления этих методов требуется существенно более сложное оборудование, чем обычно используется в двоичной системе.

2 deg;. Скорости выполнения других операций в ряде случаев можно оценить таким же способом, как мы оценили скорость выполнения умножения. Для многих операций при этом и соотношения будут получаться примерно такими же, как для умножения. К подобным операциям относятся, например, деление и извлечение квадратного корня. Но обычно эти операции приходится выполнять не очень часто, и оценки такого рода не представляют особого интереса.



Важнее всего, конечно, было бы провести оценки скоростей выполнения сложения и вычитания в зависимости от основания системы счисления. Однако принципы выполнения сложения и вычитания, используемые в вычислительных машинах, очень разнообразны, а скорости выполнения этих операций сильно связаны с применяемой методикой.

В ряде случаев оказывается, что скорость выполнения сложения или вычитания находится в прямой зависимости от общего количества двоичных знаков в каждом из чисел, участвующих в операции. (Предполагается, что цифры п-ичной системы счисления кодируются группами двоичных знаков.) При этом, очевидно, соотношения скоростей, соответствующих различным основаниям системы счисления п, можно примерно оценить с помощью функции ф(п) из раздела 1.2.2. Наилучшими окажутся системы счисления, в которых при той же точности требуется минимальное количество двоичных знаков для представления одного числа, т. е. двоичная, четверичная, восьмеричная и т. д. В десятичной системе длительность выполнения сложения или вычитания будет примерно на 20% больше, чем в двоичной системе.

При использовании других принципов выполнения сложения зависимость скорости выполнения сложения или вычитания от основания системы счисления п может оказаться более сильной - например, похожей на функцию /о ( laquo;)

Так или иначе при использовании одинаковых принципов выполнения операций двоичная система, как правило, обеспечивает более высокие скорости, чем какая-либо другая система счисления. Мы говорим, разумеется, об общей тенденции; можно, наверное, без особого труда найти и исключение из этого правила. Бывает и так (см., например, раздел 4.4), что, скажем, в десятичной системе удается применить методы ускорения операций, для которых нет аналогов в двоичной системе; при этом в десятичной системе могут получиться более высокие скорости, чем достигаются в двоичной системе. Но тогда и проигрыш в оборудовании при использовании десятичной системы будет больше, чем это можно было бы заключить из оценок раздела 1.2.2.



Необходимо еще раз подчеркнуть, что все, сказанное относительно влияния выбора системы счисления на скорость выполнения операций, относится к позиционным системам с естественным порядком весов.

1.2.4 Перевод чисел из одной системы счисления в другую. Во всех случаях, когда в вычислительной машине используется не десятичная система счисления, приходится переводить некоторые числа из одной системы в другую. Переводить приходится те исходные данные, которые машина получает от человека, конечные результаты, сообщаемые машиной человеку, а также, возможно, некоторые промежуточные результаты, нужные для контроля.

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

В зависимости от указанных условий может быть различна и методика перевода.

Мы рассмотрим сейчас те способы перевода чисел из одной системы счисления в другую, которые обычно используют при выполнении этих операций вручную; аппаратные способы рассмотрены в разделе 5.4; программные способы перевода чисел в этой книге не рассматриваются. Речь будет идти о числах, представленных позиционной системой счисления с основанием п, с естественными весами разрядов и с цифрами О, 1, п - 1.

При выполнении операций вручную в общем случае перевод чисел из системы счисления с основанием в систему счисления с основанием выполняется через десятичную систему: из п-ичной системы число переводится в десятичную систему, затем из десятичной системы - в



1 2 3 4 5 6 [ 7 ] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189