Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Семененко В.А. Вычислительная техника в инженерных и экономических расчетах учеб. пособие для студентов всех специальностей

.pdf
Скачиваний:
5
Добавлен:
23.10.2023
Размер:
8.7 Mб
Скачать

Р А З Д Е Л В Т О Р О Й

АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ОСНОВЫ ЦВМ

Г Л А В А 1

АРИФМЕТИЧЕСКИЕ ОСНОВЫ ЦВМ

§ 1—1. Позиционные системы счисления

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

Системы счисления бывают непозиционные и позиционные. НепоЗ'Иционные системы счисления— это такие системы-, в которых те или иные знаки, обозначающие цифры, не меня­ ют своего количественного значения при записи их в ряду других знаков числа. Способ записи чисел палочками, куби­ ками и так далее (рис. 2—-1), при котором каждый знак обо-

э н в и е л п Е н т н о 5

8811 э к в и ь й п е н т н о Ц

Рис. 2— 1. Представление чисел в непозицнонной системе счисления

значает количество, равное единице, является примером непо­ зиционной системы счисления. Это — наиболее древняя систе­ ма. В настоящее время нашли широкое применение так на­ зываемые позиционные системы счисления.

Позиционные системы счисления— это такие системы, в которых один и тот же знак меняет свое' количественное зна-

чение іпри записи его в ряду других знаков числа. Например, при записи числа «22» вторая двойка обозначает число «20», а не «2».

Число 2708,36 ів десятичной системе счисления является

сокращенной записью выражения:

 

 

 

 

 

2708,36 = 2 • ІО5 + 7 • ІО2 + 0 • 10' +

8-10° + 3 -10"1 -j- 6- IO"2.

Здесь 10 — основание десятичной

системы счисления.

2, 7, 0, 8, 3 и 6 — цифры десятичной системы счисления.

В позиционной системе счисления любое число записывается в виде

суммы:

 

 

 

 

 

 

 

Ң = а гпSm -I-ат _ j• Sm

1 -f-. . .

-f- й о *S0 4- л - I * 5 ~1

.

 

 

 

 

т

 

 

 

 

 

... + a . n- S - n =

'^l ar Si,

 

-

(2 -1 )

 

 

i=—n

 

 

 

где

 

 

 

 

 

 

 

S — целое число — основание

системы счисления,

записываемое

в де­

сятичной системе счисления,

N,

причем

аі < S; числа п, т

d i — цифры,

изображающие

число

(п, т >

0) могут принимать любые

целочисленные

значения.

В десятичной системе счисления

основание 5 — 10.

В за­

висимости от принятого основания системы 'Счисления могут быть двоичные, троичные, восьмеричные, шестнадцатиричные

и

т. д.:

в

двоичной

системе счисления 5 = 2, в

троичной

S

=| 3 и

т.

д. Для

изображения чисел,' например,

в восьме­

ричной системе счисления используются цифры 0, 1, 2, 3, 4, 5, 6, 7. Число 8 записывается как 10 (единица в более старшем разряде).

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

Десятичная система счисления, как наиболее привычная и понятная, используется в процессе подготовки задач к ре­ шению, а также при выдаче результатов решения из машины.

Двоичная система счисления применяется для представ­ ления чисел и выполнения операций ів самой машине, так как легко может быть осуществлена на элементах, обладающих двумя устойчивыми состояниями. Из конструктивных сообра­ жений более выгодна троичная система счисления, однако по тем же причинам, что и десятичная (техническая трудность в реализации устойчивых состояний, больших двух), она не получила распространения.

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

9!

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

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

§—2. Двоичная система счисления

Основание системы — S = 2. Цифры, с помощью которых ' изображается любое число N в двоичной системе счисления, будут, очевидно, 0 и 1. Например, число 27, 25 в двоичной системе запишется так (согласно формуле 2—1):

27,25іо = 1.24 + 1.23 + І0 .2 2 - Н І . 2 1 +

1.20 +

0 . 2 ~ ^ +

1 .2 " 2

і

\

I

і

I

I

I

16

8

0

2

1

0

1 /4

 

 

27

 

 

0,25

 

Итак, 27,25,0 =

111011,01а.

 

 

 

 

 

Индексы у чисел означают оонование той системы, в кото­

рой записано соответствующее число *. Покажем

соответствие

десятичных чисел двоичным:

 

 

 

Таблица 1

Десятичные

Двоичные

Десятичные

Двоичные

числа

числа

 

числа

 

числа

0

0

 

 

' 1'2

 

1400

1

1

 

 

13

 

4101

2

10

 

 

14

 

1440

3

11

 

 

15

 

11 и

4

100

 

 

16

 

ЮООО

5

101

 

 

17

 

100О1

6

п о

 

 

18

 

10040

7

ш

 

 

49

 

10041

8

1000

 

 

20

 

10100

9

10011

 

 

21

 

10101

Ю

'1010

 

 

22

 

10140

11

1011

 

 

23

 

10111 ит. д.

* В десятичных и двоичных числах мы будем, как правило, опускать эти индексы.

29

Таким образом, можно с помощью I двоичных разрядов выразить все числа, заключенные между 0 и 2 1—1 включи­ тельно. Аналогично L десятичных разрядов позволяют напи­ сать все числа от нуля до 10L—1 'включительно. С другой стороны, каждому десятичному числу соответствует его двоичный эквивалент и обратно. Тогда можно написать, что

21 - 1 = 10L — 1,

откуда,

I logio 2 = L

то есть десятичная запись значительно короче двоичной (іпримерно в 3,3 раза). Арифметические операции над двоич­ ными разрядами очень просты:

Сложение

Вычитание

Умножение

0 + 0 = 0

0 —0 = 0

0- 0 = 0

0 + 1 = 1

\

0 . 1 = 0

10— 1 = 1

■1+0=1

1 —0 = 1

11 0 = 0

1 +; 1 = Ю

fl; — 1 = 0

1-1 = 1

§1—3. Перевод чисел из десятичной системы счисления

вдвоичную и обратно

Перевод чисел из десятичной системы в двоичную

Используем формулу (2—1). В двоичной системе счисле­ ния любое десятичное число N можно записать в виде:

N = ап • 2 - + ая^ • + . . . + а0 ■2° + а_, • 2"1 +

+

... + а.,.2 -» = 2 а (-2'

(2 -2 )

 

—П

 

где 5 — 2 и а = 0;

1.

 

Ищем для данного числа N]0 такую целую степень двойки К, чтобы 2К было числом, ближайшим к Ni0 (меньшим или равным ему). Подбираем цифры а (0 или 1) в формуле (2—2)

таким образом, чтобы сумма чисел

аг--2' не получи-

—п

лась больше Nl0.

N = .377 в двоичную систему

Пример 1. Перевести десятичное число

счисления.

 

93

Используя уравнение (2—2), записываем Число 377

В двоичной. си­

стеме счисления:

 

 

 

 

 

 

 

 

377 = 1.2»

+ 0.27 +

1.26 +

1.25 + L24 +' 1.23

+

0.22 +

0.21+

1.2° = ЮМ 11001.

256

0

64

32

16

8

 

0

0

1

Действительно,

256 + 0 + 64 + 32 + 16 + 8 + 0 + 0 + 1 = 377.

Таким образом, 377 = 101111001.

Пример 2. Перевести число 35, 25 в двоичную систему:

35,25 - 1.25 +

0.24 +

0.23 +

0.22 +

1.21 +

1.2° +

0 .2 '1 + 1.2-* =

32

0

0

0

2

1

0

0,25

 

 

 

 

 

=

35,25 =

100011,01

Более удобное правило: ври переводе целого числа из десятичной системы счисления в двоичную делим число N\a на 2 (основание системы счисления). Если от деления числа (Ѵю на 2 получается остаток, то он записывается в младший разряд двоичного числа. Если остатка нет, то записывается 0. Частное от деления делим также на 2. Если остаток есть, то он записывается во второй двоичный разряд, если остат­ ка нет, то пишем 0. Деление продолжается до тех пор, пока частное от деления не станет меньше основания системы счисления.

Пример 3. Перевести число 20 в двоичную систему счисления.

20 I 2

0

10 I 2

0'

I

 

1

 

 

• '

 

2

I 2

 

 

0

1

20 =

10100.

 

 

Пример 4. Перевести число 25

в двоичную

систему счисления.

25 I 2

 

 

 

1

 

 

 

12 I 2

 

 

 

0

 

 

 

t

 

 

 

о

3

I

2

 

 

1

1

25,о=

11001а-

 

 

94

При переводе дробной части числа или дробных чисел умножаем дробь на 2. Если произведение больше 1, то в старший разряд после занятой записываем 1. Если меньше 1, то в старший разряд записываем 0. Затем отбрасываем це­ лую часть, если она появилась, и вновь умножаем мантиссу на 2 и так далее до получения мантиссы, равной нулю, или требуемого количества двоичных разрядов после запятой.

Максимальное количество двоичных разрядов определяет­ ся разрядной сеткой машины.

Пример 5. Перевести в двоичную систему дробь 0,625.

0 525

X

2

1 050

X

2

0 100

X

0,525 = 0 ,1 0 0 0 ...

2

 

0 200

X

2

0 400

Пример 6. Перевести в двоичную систему дробь 0,32.

0

 

32

 

1)

 

64

0,32 = 0 ,0 1 0 1 ...

1

 

28

 

0

V

56

 

1

Ѵ

12

 

Пример 7,

Перевести в двоичную систему

счисления

число 1\1,25.

11

I 2

-----

 

1

 

0 •

25

t

1

 

0

50

 

2

I 2

1

00

 

0

1

 

 

 

11 = ЮМ

0у25 = 0,01

И ,25 = 1O1U01.

 

95

Перевод чисел из двоичной системы счисления: в десятичную

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

Пример 1. Перевести в десятичную систему число 1011,01.

1011.01 = 1.23 + 0.22+ 1.2' + ' 1.2° + 0.2 —1+ - 1. 2- * =

= 8 + 2 + 1 + 0,25 = 11,25.

Пример 2. Перевести двоичное число 10001,101 в десятичную систему счисления.

10001,101

= 1.24 +:0,23 + 0.22 + 0.21 + 12« + 1.2 " 1 + 0 .2 " 2 +

+

1 .2 - з = іб + 1 + - L - + - L - = 17—| —

§ 1—4. Восьмеричная система счисления

Любое число N может быть записано в восьмеричной системе счисления в следующем виде:

 

 

m

а,-8'\

(2 -3)

 

 

N = 2

где

І——П

 

 

 

 

aL=

0 т- 7;

8 — основание системы счисления.

 

 

п,

пг — целые числа (п

и /п > 0).

 

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

Правила перевода из восьмеричной системы в двоичную

Цифры числа N8 записываем с помощью двоичных цифр, иопользуя для каждой цифры числа Ns три двоичных разря­ да. Полученная запись числа и есть запись числа N&в двоич­ ной системе счисления.

Пример 1. Число 3778 перевести в двоичную систему.

3778

=

1 111

lllil

Пример 2. Перевести

в двоичную систему число 6і528:

6528

=

110

101

010

 

 

I

I

1

 

 

6

5

2

96

О б р а т н ы й п е р о в од из двоичной системы счисле­ ния в восьмеричную осуществляется путем разбивки двоич­ ного числа на тройки двоичных цифр от запятой.

Пример 3. Перевести

двоичное

число

11T01T10,

Olllll в восьмеричную

систему счисления:

 

 

 

 

011

mi

ПО,

ОМ

по,

1

1

1

1

1

3

5

6

3

6

т. е. Шаі'НО.ОІШІ = 366,36„.

Перевод чисел из десятичной системы счисления в восьмеричную и обратно

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

Разница заключается лишь в том, что деление и умноже­ ние производится на 8 —основание восьмеричной системы.

Пример 1. Перевести число 67,225 в восьмеричную систему счисления

67

I 8

0

225

 

3

 

 

 

 

X

 

 

 

 

8

 

67,о =

Ш38

1

S00

0,-225,о = 0,163а.

6

400

 

 

3

200

 

 

 

1

600

 

и т. д.

Ответ: 67,225 = 103,1638.

Пример 2. Перевести число 377,Зв в десятичную систему' счисления.

7

7,3В= 3-8* -I- 7-81 +

7-8° + 3-8~і = 255 —

I

I

I

8»°

80

8-1

 

§ 1—5. Шестнадцатиричная система счисления

Эта система счисления нашла широкое применение в сов­ ременных ЭВМ для записи чисел и команд программы. В ка­ честве примера мы дадим таблицу соответствия для десятич­ ных чисел и способ преобразования для четырехзначных шестнадцатиричных чисел. Правила перевода из десятичной системы счисления в шестнадцатиричную и обратно отлича­ ются от рассмотренных ранее лишь тем, что деление и умно-

7 - 3 2

97

Жеане производится на іВ — основание шестиадцатиричной системы счисления (см. примеры 1, 2 § 1—4). Остатки (-< 15) 'кодируются в соответствии с таблицей.

 

 

 

Т а б л и ц а 2

Десятичные

Шестнадцати­

Десятичные

Шестнадцати­

числа

ричные числа

числа

ричные числа

0

0

17

и,

1

1

18

12

2

2

19

13

3

3

20

14

4

4

21

15

5

5

22

16

6

6

23

17

7

7

24

18

8

8

25

19

9

9

26

ІА

10

А

27

11

В

28

1C

12

С

29

13

Д

30

14

Е

31

1 F

15

F

32

20

16

10

33

21

§ 1—6. Двоично-десятичная система счисления

Если каждую цифру десятичного числа заменим эквива­ лентной ей четверкой двоичных (цифр (лотетрадно), то полу- > чим двоично-десятичную запись десятичного числа. Двоично­ десятичная запись в машинах, работающих в двоичной систе­ ме счисления, используется в качестве /промежуточной при переводе чисел из десятичной системы счисления в двоичную и обратно.

Пример 1. Представить число 275,56ю в двоично-десятичной системе.

275,56,0 = 0010

ОШ1

0101.

0101 . ОНО

Таким образом, число 0010011:10101, QlflTöllO, есть двоично>-десятич- ная запись числа 275,66-

\

§1—7. Формы представления двоичных чисел в машине

Вцифровых вычислительных машинах числа представля­ ются в одной из двух форм:

а) с фиксированной запятой; б) о плавающей запятой (шолулогарифмическая' форма

представления чисел).

98

Форма представления чисел с фиксированной запятой

Каждое из чисел, над которыми производится то или иное действие в машине, имеет ограниченное число двоичных раз­ рядов, определяемое .разрядной сеткой машины. Количество разрядов /в разрядной сетке определяется назначением маши­ ны. В машинах с фиксированной занятой число представля­ ется в виде последовательности двоичных цифр, разделенных запятой на дробную и целую часть. Знак числа ± может ко­ дироваться также 0 и 1. При такой форме представления фиксируется порядок числа. Обычно запятую фиксируют по­ сле знакового разряда (рис. 2—2). Тогда все числа, с кото-

Рис. 2—2. 16-разрядная сетка машины с фиксированной за­ пятой. Запятая фиксируется после знакового разряда

рыми оперирует машина, должны быть по модулю меньше едивдщы. Обычно число двоичных разрядов машин с фикси­ рованной запятой не превышает 24.

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

Пример 1. На машине с фиксированной запятой вычислить

 

 

 

 

 

 

а х + Ь

 

 

 

 

 

где: а — 5,

в — 10, с = 2,

а х меняется в пределах от

10 до 20. Так как

а, в, с

и X

больше

единицы,

то вводим масштабные

коэффициенты:

дляі а =

5

М„ =

(

аы =

а

 

=

0,5 <

1

10

т. е.

— ——

10

 

 

 

 

\

 

 

Ма-

 

 

 

 

Аналогично, для

=

20,

Мх =

100. Тогда

Ма-Мх =

1000.

Для

в =

10 Л1„ = 1000

(так как Ма Мх = 1000, то

и для

в выбираем

масштаб Мв= 1000. Тогда масштаб

числителя

Мчнсл =

1000).

Для

с =

2 Мс =

10.

 

 

 

 

 

х

 

 

Результат

вычисления

ум для различных значений

нужно, очевидно,

всякий раз умножать

на

 

 

 

 

 

 

'

,

 

 

 

 

М J

—^ чи1л.

1000

100.

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

44знам.

 

 

 

 

 

у*

99

Соседние файлы в папке книги из ГПНТБ