В данном разделе курса рассматриваются способы представления чисел в ЭВМ, методы выполнения арифметических операций, которые отличны от методов, получивших широкое распространение на практике.
Как известно, еще в 19 веке производство операций над числами,
содержащими много
В повседневной практике мы пользуемся, как правило, десятичной
12п = 1ш, 20ш = 1ф.
Или еще более интересная - римская система счета, которая использует символы: I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000.
Эта система является особой и применяется редко (циферблат, архитектура, история и т.д.)
Начнем с последних. В этих
Само название этих
Позиция - некоторое место, в котором может быть представлен лишь один символ.
Примером позиционной
В этой n " степени, а
изображается совокупностью некоторых символов, каждый из которых
имеет различный вес в зависимости от позиции, которую он занимает.
a4a3a2a1 - число; a1, a2, a3, a4 - символы.
Всем позициям приписывается различный вес, который чаще всего
выбирается как целая степень
Так для десятичной 0, 1, 2, 3,..., 9.
Обозначим через " p "
... p3 p2 p1 p0.
Само число, изображение которого имеет вид, например, a3a2a1a0
может быть представлено так:
a0p0 + a1p1 + a2p2 + a3p3 - это развернутая запись числа в
позиционной
Например:
97310 = 3*100 + 7*101 + 9*102 = 3 + 70 + 900.
В отличие от системы счета времени, десятичная система является
однородной, т.е. одних и тех же десятичных символов достаточно, чтобы
изобразить любое число. В то время как в смешанных
Таким образом,
Любое число X в позиционной
где
m - число позиций или
n - общее число
ai - любой допустимый символ в ai = {0, 1, 2,..., p-1}.
p -
Например:
- 961,13 = - (9*102 + 6*101 + 1*100 + 1*10-1 + 3*10-2).
p ",
в самой p " записывается только в двух позициях
( pp = 10p
... +3, +2, +1, 0, -1, -2, -3 ...
Возникает естественный вопрос, является ли общепринятая
Прямой и однозначный ответ на этот вопрос невозможен. Можно дать много различных ответов и все они будут справедливы лишь для каких-то определенных условий.
Введя общее представление числа в позиционной
Покажем, что десятеричная

Т.е. нужно было бы из десятеричной p "-систему, произвести над ней необходимые операции в p ",
затем снова сделать, но обратный p "-системы в
десятеричную, т.к. отказ от десятеричной
Если преобразование из десятеричной p "-систему требует не
слишком много времени, в то же время, если выполнение функции F будет
в p " сделано много быстрее, то тогда эта цепочка действий
будет оправданной.
Но для экономической информации характерно то, что очень несложные
операции нужно производить всякий раз над большим объемом исходных
данных. Так что в данном случае вряд ли целесообразно переходить к
новой
Однако ЭВМ предназначены не только для выполнения экономических расчетов. В большинстве случаев неэкономических применений ЭВМ имеют дело с задачами, в которых общий объем исходных данных невелик, но общее число необходимых операций огромно. Именно для такого рода применений рассмотренная последовательность действий может оказаться выгодной.
Очевидно, что можно, не сужая области применения ЭВМ, задаться
величиной некоторого самого большого числа. Пусть это будет число M.
Воспользуемся позиционной p ", и
тогда потребуется " n " M чисел:
Оборудование, которое нужно для хранения любого числа от 0 до M
пропорционально произведению
Таким образом, при заданном числе M количество цифроразрядов при p ":
p*n = p* logpM, (6.1)
где:
цифроразряд - эквивалент оборудования,
p*n - число устойчивых состояний элемента памяти,
n - число
Рассмотрим пример:
Пусть есть 24 цифроразряда.
p. |
Возможное число цифроразрядов. | Наибольшее число M. |
2 |
2*12 |
1*1*...*12 = 409510
\________/
12
|
3 |
3*8 |
2*2*...*23 = 656010
\________/
8
|
4 |
4*6 |
3*3*...*34 = 409510
\________/
6
|
6 |
6*4 |
5*5*5*56 = 129510 \______/ 4 |
8 |
8*3 |
7*7*78 = 51110 \____/ 3 |
Количество цифроразрядов говорит как о величине оборудования, так
является характеристикой быстродействия. Как увидим позже, в
позиционной
Считаем " p " - величиной непрерывной. Находим производную от (6.1) по
величине " p ". Берем p ". Увидим, что первая
производная обращается в нуль, а вторая - больше нуля при p = e. Т.е.
получаем минимум при p = e.
Таким образом, оптимальной по оборудованию и быстродействию является е.
Но е = 2,718...
Поэтому оптимальной является р = 3.
Построим функцию, характеризующую отношение оборудования в p " относительно 2 ".
| p | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| f(p) | 1,000 | 0,946 | 1,000 | 1,078 | 1,148 | 1,247 | 1,333 | 1,420 | 1,595 |
Т.е. 10-я
Действительное обоснование экономичности той или иной
Когда говорим об экономичности, то, прежде всего, имеем ввиду объем
оборудования, сосредоточенный в АУ и ЗУ. Объем оборудования УУ не
находится в столь простой зависимости от " p " да и в АУ учитывается
лишь оборудование, связанное с элементами хранения информации, но не
логическое оборудование.
Более детальный анализ показывает, что наиболее эффективными
являются
Мы же будем считать эффективной
Вот основные соображения в пользу этой
Последнее требует специального пояснения. В данном случае
рассматриваются не отрезки времени, необходимые для выполнения тех
или иных операций, а скорость, определяемая косвенно по
относительному числу операций, которые требуется провести для
выполнения, например, деления или умножения в двоичной или прочих
Если " p " - (p-1).
Если N - максимальное число, то для его изображения требуется logpN
Для того чтобы выполнить операцию умножения, например, потребуется (p-1)*logpN операций сложения. Если сравнить это число операций в p " и отнести его к числу операций в 2 ", то может получиться следующая функция:
(p-1)*logpN p-1
___________ _____
f(p)= =
1*log2N log2p
| n | 2 | 3 | 4 | 5 | 6 | ... | 10 |
| f(n) | 1,000 | 1,262 | 1,500 | 1,725 | 1,913 | ... | 2,709 |
Это лишь основные соображения в пользу выбора в качестве основы
двоичную
Всякий раз, когда используется для вычислений 10 => p, p => 10.
Есть
Этот
Во всех этих случаях принципиально используется различные подход и
методы. В связи с тем, что нам придется готовить информацию для
программы вручную, мы рассмотрим, прежде всего, методы, направленные
на ручной
Итак, имеем дело с позиционной p ", с
естественными весами
В качестве промежуточной используется, естественно, десятичная p " в 10-ую, затем из
10-ой в
Мы отступим от этого правила и воспользуемся алгоритмом
непосредственного p " в q ".
Обычно произвольное число, содержащее целую и дробную части, переводят по частям: вначале целую, затем дробную часть.
Рассмотрим
p " и его частные последовательно
делятся на число " q ", представленное в p ". Деление
производится в p " и продолжается до получения
результата, меньшего " q ". Первый остаток, меньший " q ", дает старшую цифру числа Nq. Остатки от деления дают остальные цифры числа Nq.
Пример:
3110 => 2; 3110 = 111112

318 => 3; 318 = 2213 = 2*32 + 2*31 + 1*30 = 18 + 6 + 1 = 2510.

318 => 10; 318 = 2510.

1111112 => 10; 1111112 = 6310.

p " в q " выполняется по следующему правилу: исходное число Dp
последовательно умножается на число " q ", записанное в p ".
Целые части получаемых произведений дают " p "-ые записи " q "-х цифр,
начиная со старшей. Умножение производится в p "
до получения необходимой точности.
Пример:
0,53148 => 5; 0,53148 = 0,3141...5.| 0, | 53148 58 |
| 3 | 2774 5 |
| 1 | 6754 5 |
| 4 | 2634 5 |
| 1 | 6014 |
0,31810 => 2; 0,31810 = 0,01010...2.| 0, | 31810 210 |
| 0 | 636 2 |
| 1 | 272 2 |
| 0 | 544 2 |
| 1 | 088 2 |
| 0 | 176 |
0,53148 => 10; 0,53148 = 0,674...10| 0, | 53148 128 |
1 5 |
2630 314 |
| 6 | 57708 128 |
1 5 |
3760 770 |
| 7 | 36608 128 |
1 3 |
7540 660 |
| 4 | 6340 |
Как мы уже знаем, в ЭВМ наибольшее применение находит N8 в 8-ой
N8 = a1*8n-1 + a2*8n-2 + a3*8n-3 + ... + an-2*82 + an-1*81 + an*80.
Пусть каким-либо образом мы получили запись этого числа в виде двоичного, т.е.:
N2 = b1*2k-1 + b2*2k-2 + ... + bk-2*22 + bk-1*21 + bk*20.
Разделим эти выражения на 23 = 8:
a1*8n-2 + a2*8n-3 + a3*8n-4 + ... + an-1*80 + an*8-1
-------
дробная часть
b1*2k-4 + b2*2k-5 + ... + bk-3*20 + bk-2*2-1 + bk-1*2-2 + bk*2-3
-------------------------
дробная часть
Так как числа были равны, то получается одинаковые частные и одинаковые остатки:
an*8-1 = bk-2*2-1 + bk-1*2-2 + bk*2-3. (6.2)
Если снова разделим целые части на 23 = 8, то опять получим равные
частные и равные остатки.
При этом видим, что каждой восьмеричной цифре соответствует её
двоичный эквивалент. Поэтому
Пример:
62,7538 = 110010,1111010112
Аналогично для 4-ой
321,22334 = 111001,101011112
Аналогично для 16-ой
1D876,72 = 00011101100001110110,011100102
Из этих примеров видим, что чем выше

bk-2 |
bk-1 |
bk |
an |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 2 |
| 0 | 1 | 1 | 3 |
| 1 | 0 | 0 | 4 |
| 1 | 0 | 1 | 5 |
| 1 | 1 | 0 | 6 |
| 1 | 1 | 1 | 7 |
Если умножить последние соотношения (6.2) на 8, то:
an*8-1*8 = (bk-2*2-1 + bk-1*2-2 + bk*2-3)*23 an = bk-2*22 + bk-1*21 + bk*20
В данном разделе курса рассматриваются способы представления чисел в ЭВМ, методы выполнения арифметических операций, которые отличны от методов, получивших широкое распространение на практике.
Как известно, еще в 19 веке производство операций над числами,
содержащими много
В повседневной практике мы пользуемся, как правило, десятичной
12п = 1ш, 20ш = 1ф.
Или еще более интересная - римская система счета, которая использует символы: I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000.
Эта система является особой и применяется редко (циферблат, архитектура, история и т.д.)
Начнем с последних. В этих
Само название этих
Позиция - некоторое место, в котором может быть представлен лишь один символ.
Примером позиционной
В этой n " степени, а
изображается совокупностью некоторых символов, каждый из которых
имеет различный вес в зависимости от позиции, которую он занимает.
a4a3a2a1 - число; a1, a2, a3, a4 - символы.
Всем позициям приписывается различный вес, который чаще всего
выбирается как целая степень
Так для десятичной 0, 1, 2, 3,..., 9.
Обозначим через " p "
... p3 p2 p1 p0.
Само число, изображение которого имеет вид, например, a3a2a1a0
может быть представлено так:
a0p0 + a1p1 + a2p2 + a3p3 - это развернутая запись числа в
позиционной
Например:
97310 = 3*100 + 7*101 + 9*102 = 3 + 70 + 900.
В отличие от системы счета времени, десятичная система является
однородной, т.е. одних и тех же десятичных символов достаточно, чтобы
изобразить любое число. В то время как в смешанных
Таким образом,
Любое число X в позиционной
где
m - число позиций или
n - общее число
ai - любой допустимый символ в ai = {0, 1, 2,..., p-1}.
p -
Например:
- 961,13 = - (9*102 + 6*101 + 1*100 + 1*10-1 + 3*10-2).
p ",
в самой p " записывается только в двух позициях
( pp = 10p
... +3, +2, +1, 0, -1, -2, -3 ...
Возникает естественный вопрос, является ли общепринятая
Прямой и однозначный ответ на этот вопрос невозможен. Можно дать много различных ответов и все они будут справедливы лишь для каких-то определенных условий.
Введя общее представление числа в позиционной
Покажем, что десятеричная

Т.е. нужно было бы из десятеричной p "-систему, произвести над ней необходимые операции в p ",
затем снова сделать, но обратный p "-системы в
десятеричную, т.к. отказ от десятеричной
Если преобразование из десятеричной p "-систему требует не
слишком много времени, в то же время, если выполнение функции F будет
в p " сделано много быстрее, то тогда эта цепочка действий
будет оправданной.
Но для экономической информации характерно то, что очень несложные
операции нужно производить всякий раз над большим объемом исходных
данных. Так что в данном случае вряд ли целесообразно переходить к
новой
Однако ЭВМ предназначены не только для выполнения экономических расчетов. В большинстве случаев неэкономических применений ЭВМ имеют дело с задачами, в которых общий объем исходных данных невелик, но общее число необходимых операций огромно. Именно для такого рода применений рассмотренная последовательность действий может оказаться выгодной.
Очевидно, что можно, не сужая области применения ЭВМ, задаться
величиной некоторого самого большого числа. Пусть это будет число M.
Воспользуемся позиционной p ", и
тогда потребуется " n " M чисел:
Оборудование, которое нужно для хранения любого числа от 0 до M
пропорционально произведению
Таким образом, при заданном числе M количество цифроразрядов при p ":
p*n = p* logpM, (6.1)
где:
цифроразряд - эквивалент оборудования,
p*n - число устойчивых состояний элемента памяти,
n - число
Рассмотрим пример:
Пусть есть 24 цифроразряда.
p. |
Возможное число цифроразрядов. | Наибольшее число M. |
2 |
2*12 |
1*1*...*12 = 409510
\________/
12
|
3 |
3*8 |
2*2*...*23 = 656010
\________/
8
|
4 |
4*6 |
3*3*...*34 = 409510
\________/
6
|
6 |
6*4 |
5*5*5*56 = 129510 \______/ 4 |
8 |
8*3 |
7*7*78 = 51110 \____/ 3 |
Количество цифроразрядов говорит как о величине оборудования, так
является характеристикой быстродействия. Как увидим позже, в
позиционной
Считаем " p " - величиной непрерывной. Находим производную от (6.1) по
величине " p ". Берем p ". Увидим, что первая
производная обращается в нуль, а вторая - больше нуля при p = e. Т.е.
получаем минимум при p = e.
Таким образом, оптимальной по оборудованию и быстродействию является е.
Но е = 2,718...
Поэтому оптимальной является р = 3.
Построим функцию, характеризующую отношение оборудования в p " относительно 2 ".
| p | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| f(p) | 1,000 | 0,946 | 1,000 | 1,078 | 1,148 | 1,247 | 1,333 | 1,420 | 1,595 |
Т.е. 10-я
Действительное обоснование экономичности той или иной
Когда говорим об экономичности, то, прежде всего, имеем ввиду объем
оборудования, сосредоточенный в АУ и ЗУ. Объем оборудования УУ не
находится в столь простой зависимости от " p " да и в АУ учитывается
лишь оборудование, связанное с элементами хранения информации, но не
логическое оборудование.
Более детальный анализ показывает, что наиболее эффективными
являются
Мы же будем считать эффективной
Вот основные соображения в пользу этой
Последнее требует специального пояснения. В данном случае
рассматриваются не отрезки времени, необходимые для выполнения тех
или иных операций, а скорость, определяемая косвенно по
относительному числу операций, которые требуется провести для
выполнения, например, деления или умножения в двоичной или прочих
Если " p " - (p-1).
Если N - максимальное число, то для его изображения требуется logpN
Для того чтобы выполнить операцию умножения, например, потребуется (p-1)*logpN операций сложения. Если сравнить это число операций в p " и отнести его к числу операций в 2 ", то может получиться следующая функция:
(p-1)*logpN p-1
___________ _____
f(p)= =
1*log2N log2p
| n | 2 | 3 | 4 | 5 | 6 | ... | 10 |
| f(n) | 1,000 | 1,262 | 1,500 | 1,725 | 1,913 | ... | 2,709 |
Это лишь основные соображения в пользу выбора в качестве основы
двоичную
Всякий раз, когда используется для вычислений 10 => p, p => 10.
Есть
Этот
Во всех этих случаях принципиально используется различные подход и
методы. В связи с тем, что нам придется готовить информацию для
программы вручную, мы рассмотрим, прежде всего, методы, направленные
на ручной
Итак, имеем дело с позиционной p ", с
естественными весами
В качестве промежуточной используется, естественно, десятичная p " в 10-ую, затем из
10-ой в
Мы отступим от этого правила и воспользуемся алгоритмом
непосредственного p " в q ".
Обычно произвольное число, содержащее целую и дробную части, переводят по частям: вначале целую, затем дробную часть.
Рассмотрим
p " и его частные последовательно
делятся на число " q ", представленное в p ". Деление
производится в p " и продолжается до получения
результата, меньшего " q ". Первый остаток, меньший " q ", дает старшую цифру числа Nq. Остатки от деления дают остальные цифры числа Nq.
Пример:
3110 => 2; 3110 = 111112

318 => 3; 318 = 2213 = 2*32 + 2*31 + 1*30 = 18 + 6 + 1 = 2510.

318 => 10; 318 = 2510.

1111112 => 10; 1111112 = 6310.

p " в q " выполняется по следующему правилу: исходное число Dp
последовательно умножается на число " q ", записанное в p ".
Целые части получаемых произведений дают " p "-ые записи " q "-х цифр,
начиная со старшей. Умножение производится в p "
до получения необходимой точности.
Пример:
0,53148 => 5; 0,53148 = 0,3141...5.| 0, | 53148 58 |
| 3 | 2774 5 |
| 1 | 6754 5 |
| 4 | 2634 5 |
| 1 | 6014 |
0,31810 => 2; 0,31810 = 0,01010...2.| 0, | 31810 210 |
| 0 | 636 2 |
| 1 | 272 2 |
| 0 | 544 2 |
| 1 | 088 2 |
| 0 | 176 |
0,53148 => 10; 0,53148 = 0,674...10| 0, | 53148 128 |
1 5 |
2630 314 |
| 6 | 57708 128 |
1 5 |
3760 770 |
| 7 | 36608 128 |
1 3 |
7540 660 |
| 4 | 6340 |
Как мы уже знаем, в ЭВМ наибольшее применение находит N8 в 8-ой
N8 = a1*8n-1 + a2*8n-2 + a3*8n-3 + ... + an-2*82 + an-1*81 + an*80.
Пусть каким-либо образом мы получили запись этого числа в виде двоичного, т.е.:
N2 = b1*2k-1 + b2*2k-2 + ... + bk-2*22 + bk-1*21 + bk*20.
Разделим эти выражения на 23 = 8:
a1*8n-2 + a2*8n-3 + a3*8n-4 + ... + an-1*80 + an*8-1
-------
дробная часть
b1*2k-4 + b2*2k-5 + ... + bk-3*20 + bk-2*2-1 + bk-1*2-2 + bk*2-3
-------------------------
дробная часть
Так как числа были равны, то получается одинаковые частные и одинаковые остатки:
an*8-1 = bk-2*2-1 + bk-1*2-2 + bk*2-3. (6.2)
Если снова разделим целые части на 23 = 8, то опять получим равные
частные и равные остатки.
При этом видим, что каждой восьмеричной цифре соответствует её
двоичный эквивалент. Поэтому
Пример:
62,7538 = 110010,1111010112
Аналогично для 4-ой
321,22334 = 111001,101011112
Аналогично для 16-ой
1D876,72 = 00011101100001110110,011100102
Из этих примеров видим, что чем выше

bk-2 |
bk-1 |
bk |
an |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 2 |
| 0 | 1 | 1 | 3 |
| 1 | 0 | 0 | 4 |
| 1 | 0 | 1 | 5 |
| 1 | 1 | 0 | 6 |
| 1 | 1 | 1 | 7 |
Если умножить последние соотношения (6.2) на 8, то:
an*8-1*8 = (bk-2*2-1 + bk-1*2-2 + bk*2-3)*23 an = bk-2*22 + bk-1*21 + bk*20
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.