книги из ГПНТБ / Михельсон В.С. Элементы вычислительной математики учебное пособие для электроприборостроительных техникумов
.pdfНа барабане БЭСМ-2 можно задать до 6144 39-разрядных кодов. Он вращается со скоростью 780 об/мин. Числа передаются во внут реннее запоминающее устройство со скоростью 800 чисел в секунду. Машина может иметь 2—3 магнитных барабана.
Кроме магнитных барабанов, используются магнитные ленты. На БЭСМ-2 имеются четыре магнитофона для записи хранения и считывания чисел с четырех магнитных лент. Числа на ленте записы ваются группами по 2047, т. е. все числа из внутреннего запоминаю щего устройства записываются в одну группу. На одной ленте мож но записать до 63 групп, поэтому на всех четырех лентах могут быть заданы до 515 884 чисел. Скорость движения ленты 2 м/сек. Длина
ленты 300 м.
Арифметическое устройство служит для выполнения арифметиче ских операций. Оно участвует при вводе информации в ЭВМ, переда че кодов между различными устройствами ЭВМ.
Вывод информации из ЭВМ осуществляется печатающим уст ройством. На ЭВМ БЭСМ-2 числа печатаются в виде колонки на узкой бумажной ленте со скоростью 15—20 кодов. В некоторых ЭВМ имеется широкое алфавитно-цифровое печатающее устройство.
Например, на ЭВМ «Урал-4» можно выдавать данные в виде текста готовых таблиц, графиков и т. д. В каждой строке может быть отпечатано 128 букв или цифр. Скорость печати 300 строк в ми нуту.
§ 2. Позиционные системы счисления
Для решения задачи в электронную вычислительную машину на до не только задать числовые данные, но и указать, какие операции и над какими из вводимых в нее чисел нужно производить. Было бы нерационально делать это нажатием определенных клавиш с пульта управления, как это делается в малых вычислительных машинах. Ведь машина выполняет несколько тысяч арифметических операций в секунду, а на нажатие одной клавиши затрачивается до нескольких секунд. Поэтому все указания, какие операции и над какими из чи сел производить, определенным образом записываются цифрами, которые вместе с числовыми данными заранее задаются в машину. Эти числа-команды и управляют ее работой. Они заставляют опре деленные числовые данные переходить из запоминающего устройст ва машин в арифметическое и настраивают его на выполнение опре деленной арифметической операции над этими числами; заставляют полученные ответы записаться в определенных местах в запоминаю щих устройствах; заставляют нужные результаты отпечататься на бланках. При создании электронных вычислительных машин надеж
770
нее пользоваться схемами, которые могут быть только в двух устой чивых положениях, например электромагнитное реле может иметь замкнутый или разомкнутый контакт, определенный участок маг нитной ленты может быть намагничен или размагничен и т. д. По этому в большинстве таких машин счет ведется с числами, записан ными при помощи только двух цифр: 0 и 1.
Как записать любое число при помощи только двух цифр? Для этого мы должны записать их в двоичной системе счисления.
Система счисления. Счислением называется совокупность прие мов наименования и обозначения чисел.
Цифрами называются условные знаки, используемые при обоз начении чисел. При записи чисел в десятичной системе счисления пользуются десятью цифрами: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Десятичная система является позиционной системой. Это значит, что значение каждой цифры в числе зависит от ее положения среди других цифр этого числа. Например, в числе 5254,25 имеются три цифры 5. Но все они имеют разные значения. Значение левой цифры 5 равно 5000, значение средней цифры 5 равно 50, а значение правой цифры 5 — 0,05. Это число является сокращенной записью следующей суммы:
5254,25 = 5 -Юз _j_ 2-102 + 5-10' + 4-10» + 2 -10- 1 + 5-10~2. (1)
В рассматриваемом числе единица каждого разряда равна де сяти единицам предыдущего разряда.
В двоичной системе счисления единица каждого разряда равна двум единицам предыдущего разряда. Справа от разряда единиц расположены разряды двоек, четверок, восьмерок и т. д. Чтобы за писать число в двоичной системе, нужно представить его в виде суммы последовательных степеней числа 2:
5254,25= Ь 2'2 + 0 -2" + 1 -2'° |
+ 0-2» + 0-2в |
+ 1 -2? + 0-2в + |
+ 0-25 + 0 -24+ 0-22 + 1 -22 + |
1 -2' + 0-20+ |
0-2-1 + 1 -2- 2. |
Вместо того чтобы записывать десятичное число как сумму пос ледовательных степеней десяти (1), мы пользуемся сокращенной за писью — 5254,25, т. е. выписываем подряд те цифры, на которые умножаются различные степени десяти. Аналогично при записи чи сел в двоичной системе счисления, вместо того чтобы записывать сум му последовательных степеней двух, умноженных на 0 или 1, запи сываются подряд только те цифры, на которые эти степени умно жаются
Таким образом,
(5252,25)10 = (1010010000110,01)2,
— 171 —
Цифры |
10 и 2, записанные внизу у этих чисел, показывают, в ка |
||
кой системе счисления они записаны. |
|
||
П р и м е р ы. |
|
|
|
1) |
( 1011101)2= 1 ■2е + |
0• 23 + 1 -2* + 1 -23+ |
1 -2* + |
|
+ 0-21 + |
1 • 2° = (93)10. |
|
2) (265)w= 1 -2з + 0-2М - 0-2Ч - 0-2Ч - 0-2'«+ |
1 -23 + |
||
|
-(- 0-22 + 0-2' + |
1 -2° = (100001001 )2. |
|
Перевод целых чисел в двоичную систему счисления можно осу ществить также при помощи многократного деления на 2.
Чтобы записать, например, число (437) ю в двоичной системе, нужно найти такие цифры: В0, В,, В2 ........ В„, где каждое В, равно нулю или единице, чтобы
437 = В0-2» + Br 2n- i + • • •+ Bn—i • 2 + В„. |
(2) |
Разделим правую и левую части этого равенства на 2. |
Так как |
Вi=0 или 1, то в частном от деления правой части на 2 получим В0• 2я-» + Bt • 2" - 2 + • • • + В„ _ 2• 2 + Дя_ , ,
а в остатке число В„. Получившееся частное и остаток должны рав няться соответственно частному и остатку от деления левой части
равенства |
(2) на 2, поэтому |
|
|
|
|
|
|
|
|
Вп = 1. |
|
|
|
||
|
В0• 2"—1 + B 1-2«-2+ - . . + B„_2-2 + B„_i |
= |
218. |
(3) |
|||
Разделим еще раз |
обе части равенства (3) на |
2 |
и приравняем |
||||
получившиеся частные и остатки: |
|
|
|
|
|
||
|
|
Вп- 1= о, |
|
|
|
||
В0• 2"—2 + Bt • 2"—3-|----- Ь В „_з.2+ В л—2 = |
10Э. |
(4) |
|||||
Разделим еще раз |
на 2 обе части равенства (4). Сравнивая |
ос |
|||||
татки и частные, получаем |
|
1 , |
|
|
|
||
|
|
Вп- 2 = |
|
|
|
||
|
Во-2«—3 + Вх-2»-* + - • - + |
Вя_4-2 + в п- з = |
54. |
|
|||
Аналогичным образом получаем значения девяти двоичных цифр: |
|||||||
|
В0= 1 ; Вх = 1; Ва = 0, В3 = 1, В4 = 1 , |
|
|||||
|
Ва = 0, |
Ва = 1, |
В7 == О и Bs = 1. |
|
|
|
|
Итак, |
437= В0• 26+ ... + В 7 • 2+ В 8= 1 . 23+ 1• 27+0 • 26+ 1• 25+ |
||||||
f 1 -2 Ч 0 -2 а+1 -22+0-2Ч -1 -2°, |
т. е. (437),0= (110110101 )а- |
|
|||||
|
|
|
1/2 |
— |
|
|
|
Таким образом, нахождение двоичных цифр числа сводится к делению соответствующих частных на 2 и к нахождению остатков от деления. Поэтому, чтобы не выписывать каждый раз равенства (2),
(3) и (4), удобно пользоваться такой записью:
437| |
2 |
|
|
|
|
|
|
"436- |
_218 |—?- |
|
„ |
|
|
|
|
I |
218 109[ |
2 |
541 |
|
|
|
|
|
— “ |
108 |
2 |
|
|
|
|
|
0 |
|
54 |
271 |
2 |
|
|
|
—Т |
2 |
|
||||
|
|
= “0 |
“ 26 |
13 I |
|
||
|
|
|
= |
1 |
12 |
6 1 |
2 |
|
|
|
|
|
1 |
~ 6 |
3 1 |
|
|
|
|
|
— |
0 |
2 |
|
|
|
|
|
|
|
1 |
Подчеркнутые двумя черточками цифры и есть остатки, которые, как мы знаем, являются цифрами при записи числа 437 в двоичной системе. Сначала получается цифра разряда единиц, потом цифра, разряда двоек и т. д.
П р и м е р . |
Запишем число |
(342) ю в |
двоичной |
системе счис |
||||||
ления: |
|
|
|
|
|
|
|
|
|
|
3421 |
2 |
|
|
|
|
|
|
|
|
|
'342 — УП\ |
2 |
|
|
|
|
|
|
|
||
“ |
0 |
170 |
851 |
2 |
2 |
|
|
|
|
|
= |
1 |
84 |
42 |
|
|
|
|
|
||
|
|
= |
Т |
42 |
|
|
2 |
|
|
|
|
|
|
= |
0 |
101 |
2 |
|
|||
|
|
|
5 | |
|
||||||
|
|
|
|
|
10 |
|
|
|||
|
|
|
|
|
о | |
|
4 |
~ |
2 1 |
2 |
|
|
|
|
|
11 |
|
1 |
2 |
1 |
|
Поэтому |
|
| |
|
|
— |
|
0 |
“ |
||
|
|
|
|
|
|
|
||||
|
|
|
|
I |
|
|
|
|
|
|
(342)10= ( 101010110)> |
|
|
|
|
|
|
||||
t 1________
Можно пользоваться другой более простой формой записи: 342 171 85 42 21 10 5 2 1 .
0 |
1 |
1 0 |
1 0 |
1 0 |
173
Над чертой записываются заданное число и получающиеся част ные, под чертой — остатки от деления соответствующих частных на 2.
П р и м е р . Переведем число (1011) ю в двоичную систему счис ления:
1011 505 252 126 63 31 15 7 3 1
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
поэтому (1011)ю= (II 111 Ю011)2- |
|
могут |
|
быть записаны не только |
||||
В двоичной системе |
счисления |
|
|
|||||
целые, но и дробные числа. |
|
|
|
|
|
|
||
Например, |
|
|
|
|
|
|
|
|
(3,125)ю= 1-2* + 1-20+ 0 -2 -' + 0-2- 2 + l- 2- з ,
поэтому число (3,125) ю можно представить в виде суммы целых по ложительных и отрицательных степеней числа 2, умноженного на 1 или 0:
(3 ,125)10 = (П ,001 )2, (0, 1011)2 = 0-20 + 1 -2-1 +
Выведем правило перевода дробных чисел из десятичной систе мы в двоичную
Пусть, например, число (0,5625) ю требуется записать в двоич ной системе. Для этого нужно найти такие цифры В\, В2, ..., ВПг рав ные 0 или 1, чтобы
0,5625 = Bi-2—1 + В2-2~ 2 + В3-2~ 3 Н------ b В„_2- 2 - (л~ 2>+
+ В„_г 2-<л- 1) + В / г 2- " .
Умножив обе части этого равенства на 2, можно найти значе ние В,:
1,1250 = By + В2-2_ 1+ В 3.2 - 2-|------- |
\- В„_1.2-<л- 2)+ В л-2 -(/,- 1). |
В правой части этого равенства цифра В\ есть целая часть числа, а подчеркнутая сумма составляет дробную часть, поэтому
Bi = l.
б»• 2—1+ В 3• 2—1!+ • • - + Я/1_ 1 -2-<я- 2>+В,1.2 -(л- 1>= 0,125,
174
Теперь умножим обе части последнего равенства на 2:
£■> + В3-2 - 4 ^ 4 -2 -2-|-------h 5,г-1 -2 -(л- 3)+В,г 2-<'г~ 2) = 0,25,
в результате получим
5г = 0>
В3- 2 - Ч 5 4 - 2 - гН-------Н В,г 2-<л- 2>= 0,25.
Повторяем процесс умножения на 2:
5з + 54-2-1 + . . - + В л-2 -(" -3) = 0 , 5 ,
поэтому
53 = 0,
В ^2 ~ 1-\-------\-Вп-2-<п~ 3) = 0,5.
Из последнего равенства окончательно получаем
В4 = 1, В5•2_ 1 ------1- Вл-2 -(" - 4) = 0, поэтому В5= В в= . .. =о.
Итак, (0,5625)ю= (0,1001)2.
Приведенные вычисления удобнее записывать в следующем виде: 0,5625
х____ 2
П1250
„0,1250
х____2
0,2500
х! — 2
0,5000
|
|
1,0000 |
|
Подчеркнутые цифры |
и являются искомыми двоичными цифрами. |
||
П р и м е р . Записать |
в |
двоичной |
системе счисления дробь |
(0,84375) 10. |
|
умножения |
на 2 получаем |
Путем последовательного |
|||
175
v О,84375
x2
Ь68750
v 0,68750
X |
2 |
|
37500 |
v 0,37500
X |
2 |
0,75000 |
|
x “ |
2 |
К 5000 |
|
^0,5000 |
|
x |
2 |
1,0000
поэтому (0,84375)ю= (0,11011)г-
Отметим, что многие конечные десятичные дроби могут оказать ся бесконечными при записи их в двоичной системе счисления.
Например, запишем дробь 0,3 в двоичной системе счисления:
х °,3
Х _2
0,6
Х1 _?
_ 1,2
0,4
уГ_ 2
0,8
х_2
1,6
1,2
— 176 ■
Мы видим, что снова получается число 0,6, т. е. начинается пов торение двоичных цифр, поэтому
(0.3)1(,= (0,0.1001 Ю01 1001 • . . )2.
Чтобы перевести смешанную десятичную дробь в двоичную си стему счисления, нужно перевести отдельно целую и дробную
част ь.
При записи чисел в двоичной системе приходится записывать большое количество нулей и единиц. Чтобы было меньше ошибок при записи чисел и команд для ввода в машину, часто пользуются
восьмеричной системой счисления. При записи чисел в этой системе единица в каждом разряде равна восьми единицам предыдущего разряда. Поэтому в этой системе счисления пользуются только во семью цифрами 0, 1, 2, 3, 4, 5, 6 и 7. Запишем число (10694)ю в вось меричной системе счисления:
(Ю694)10 = 2-81 + 4-в1 + 7-82 + 0-81 + 6 -8°.
Правая часть этого равенства сокращенно записывается так: (24706)8. Цифра 8 показывает, что числе 24 706 записано в восьме ричной системе счисления. Поэтому (10694)10= (24706)8.
П р и м е р ы.
1) (10100)я = 1-84 -|- 0-83 + 1 -8 4 -0 -8 ' + 0-8') = (4160)хо.
2) (3603)8 = 3• 83 + 6 • 82 + 0• 81 + 3- 8" = (1923)10.
Правило перевода чисел из десятичной системы счисления в восьмеричную состоит в делении переводимого числа и получающихся частных ьа 8. Остатки и последнее частное, которые при этом полу чаются, и являются искомыми восьмеричными цифрами:
10694] |
8 |
|
|
|
10688 1336]_?__ |
|
|
||
------ б"-- 1336 |
167 1 |
8 |
8 |
|
= |
fT |
160 |
20! |
|
|
- |
7 |
16 |
2 |
|
|
= |
4 |
|
(Ю694)10 = |
(24706), |
|
||
поэтому
1 2 -440 |
177 |
Пр и м е р ы.
1)Записать число (74534) ю в восьмеричной системе
74534 |
9316 |
1164 |
145 |
18 |
2 |
6 |
4 |
4 |
1 |
2 |
’ |
поэтому (74534)ю= (221446)8 2) Перевести в восьмеричную систему число (0,609375) ю:
0,609375 _2_______ 8
|
|
|
|
|
= |
4,875000 |
|
|
||
|
|
|
|
|
v |
0,875000 |
|
|
||
|
|
|
|
|
_2_______8_ |
|
|
|||
|
|
|
|
|
_ |
7,000000, |
|
|
||
поэтому |
|
(0,609375)10 = |
(0,47)8. |
|
|
|||||
Составим правило перевода чисел из двоичной системы счисления |
||||||||||
в восьмеричную и обратно. |
так |
как |
(1305) ю —(10100011001)г, |
то |
||||||
Рассмотрим пример; |
||||||||||
(1305)1о = (1-210 + |
0-2») + |
(1 -2» + |
0-27 + 0-26) + (0-25 + 1 -24 + |
|||||||
+ |
1 -2!>) + |
(0-2г + |
0-21+ |
1 -2") = |
(1 -2 4 - 0-20) -8®+ ( 1 -22 + |
|
||||
+ |
0-21 + 0-20) -82 + |
(0-22 + |
1 -2М - 1 -2°) -81 + (0-22 + 0-2»^+ |
|
||||||
+ 1 -2") -в» = |
(10)г-8* + |
(100)а-8а + |
(Ollb-81 + (001)2-8« = 2-8* + |
|||||||
|
|
+ 4-82 + |
3-81 + |
1-8“ = (2431 )„. |
|
|
||||
Отсюда правило: разбиваем двоичное число справа налево на |
||||||||||
группы, содержащие три двоичные цифры. Каждая такая |
группа |
|||||||||
является двоичной записью |
какой-нибудь цифры: 0, 1, 2, 3, |
4, |
5, 6 |
|||||||
и 7; заменив каждую группу соответствующей цифрой, получаем число, записанное в восьмеричной системе счисления.
И, наоборот, чтобы число, записанное в восьмеричной системе счисления, записать в двоичной системе, нужно каждую восьмерич ную цифру заменить тройкой двоичных цифр:
0 — 000, 1— 001, 2 — 010, 3 — 011, 4 — 100, 5 — 101, 6 — 110 и 7 — 111,
178
П р и м е р ы.
1) (1101110111)2 = (1 101 110 111)2 = (1567)8.
2) (10736)3 = (1 000 111 011 110)3 = (1000111011110)2.
Отметим также, что в некоторых электронных вычислительных машинах применяются числа, записанные и в других системах счис ления. Например, в вычислительном центре МГУ построена и успеш но работает электронная вычислительная машина «Сетунь», которая производит вычисления с числами, записанными в троичной системе счисления. В последнее время в разных странах создаются вычис лительные машины, оперирующие с числами, записанными в деся тичной системе счисления.
Выполнение арифметических операций. Сложение трех одно значных двоичных чисел производится по следующему правилу:
(0)2 + |
(0)г + |
(0)г — (0)s> |
O h + |
Oh + |
(0)г — (Ю)2, |
|
|
(1 )г + |
(0)г + |
(0)2 = O h. |
Oh + |
(0h + |
O h = O0h, |
|
|
(0h + (lh + (0h = (lh, |
(0) |
2 + |
O h + |
(Os = |
(10h. |
||
(Oh + |
(0)г + |
(1)2 = (Os. |
(1) |
г H- O h + |
(1)2 = |
(11)2- |
|
На основании этих равенств производится сложение многознач ных двоичных чисел:
111 111 — единицы переноса; ( 101010101)2— первое слагаемое; (1110011)2 — второе слагаемое.
(111001000)2
Сложение начинаем с разряда единиц 0 Ь + 0 Ь = (Ю)2, ноль записываем, а единицу переносим в следующий слева разряд (над писываем сверху). Переходим к разряду двоек: (1)2+ (0)2+ (1)2= = (10)2. Ноль записываем, а единицу надписываем в разряд четверок. Переходим к следующему разряду: (1)г+(1)г+(0)2= (10)2, ноль за писываем, а единицу запоминаем и переходим к разряду восьмерок. Так, переходя от разряда к разряду справа налево, мы постепенно вычисляем все цифры суммы. Если записать эти два числа в де сятичной системе счисления, то получим
(341)ю + (115)ю = (456)10.
12* |
179 |
