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

книги из ГПНТБ / Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие

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

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

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

Пример 16. Перевести десятичное число 999,14257812510 в вось­ меричное. Переводим отдельно целую и дробную части.

999

|8_

 

 

 

0,

142578125

8

124

 

18

 

 

X 8

 

 

1,

140625000

19

8_

15

| 8

16

44

 

8

1

 

X 8

 

1,

125000000

39

40

 

7

 

 

 

 

X 8

32

4

 

 

 

 

 

 

 

1,

000000000

7

 

 

 

 

 

 

 

 

 

 

99910 =

17478

 

 

 

0,14257812510 = 0,1118

999,14257812510 =

1747,

1118

• 83 + 7 • 82 +

4 • 81 + 7 • 8° +

 

+

1 • 8-1 + 1 • 8-2 +

1 • 8 3 = 512 + 448 + 32 + 7 +

 

+ — + — + — = 999 — = 999,142578125J0.

 

 

8

64

512

512

 

Пример 17. Перевести десятичное число 219,20312510 в восьме­ ричное

219

I8

 

1

0,

203125

16

 

 

 

X 8

й

1 8

 

 

 

 

625000

59

 

1,

24

3

 

56

3

 

 

X 8

 

 

5,

000000

3

 

 

 

2Ю10

II

со СО СО СО

0, 20312510 = 0,158

219,2031251О= 333,158 —3 • 82 +

3 • 81+ 3 • 8°+

1-8- 1 + 5 - 8 ~ 2 =

= 192 + 24 + 3 + -

219 _13_ :219,203125i o -

 

64

64

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

Основание восьмеричной системы является целой степенью осно­ вания двоичной системы (8 = 23). В подобных системах счисления перевод чисел из одной системы в другую очень прост.

20

Пусть дано целое восьмеричное число N

N = ап8п+ ал—18"“ '

. . . + 0^8 +^o8j — a.g*. (1.24)

 

i= 0

Преобразовать число N в двоичную систему, значит представить его в виде

N' = b f - V b k_ x2h- 1

k

b12J + 602° = 2 Ъ 2\ (1.25)

 

1=0

По условию N --- N ' . Разделив М и ./V1 на 8 = 23, получим оди­ наковые остатки и частные

а0 = Ь222 + Ь£! +

Ь02° = Ьфф0,

(1.26)

 

2

^ 8 '- ‘ =

2

Ъ р - \

(1.27)

 

f = l

 

г=3

 

 

Разделив обе части

равенства

(1.27)на

8 = 23,

получим опять

одинаковые остатки и частные

 

 

 

 

fli =

Ьь2г+ 6421 +

Ь32° =

Ьффз,

 

 

2

afil~2 = i

 

 

(1.28)

 

i—2

 

1=6

 

 

Из равенств (1.26)

и (1.28) нетрудно понять,

что для перевода

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

Пример 18. Перевести восьмеричное число 754,363 в двоичное

754,3638 = 111 101 100,011 110 0112.

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

Пример 19. Перевести двоичное число 11111101101, 101112 в вось­ меричное.

Слева и справа разбиваем двоичные цифры на триады

011.111.101.101, 101.1102 = 3755,568.

Восьмеричная система счисления в ЦВМ используется для со­ кращенной записи двоичных чисел при программировании: для записи адресов команд, кодов операции, адресов чисел, исходных данных.

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

Пример 20. Перевести десятичное число 641,414062510 в двоич­ ное.

21

Перевод числа в восьмеричную систему:

 

641

II

 

0,

4140625

640

80

II

 

X 8

3,

3125000

 

'80

1

1 0

 

0

8

 

X 8

 

2,

5000000

 

 

 

 

 

 

 

X 8

 

1201.

 

4,

0000000

641хо

 

0,414062510 = 0,3248

 

641,414062510=

1201,324„.

 

Теперь каждую восьмеричную цифру заменяем

двоичной триадой

641,414062510 = 001010000001,0110101002 =

 

=

1010000001,0110101.

 

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

Рассмотрим два метода перевода чисел из любой системы счис­ ления в десятичную:

а) метод последовательного деления на десять, б) метод суммирования степеней основания.

Пример 21. Перевести восьмеричное число 3078 в десятичное методом последовательного деления на Ю10

3078

|12в

 

12

24

23

1

47

12

 

1

36Не

П8

 

1^8 —

 

 

3078 = 19910

 

Пример 22.

Перевести двоичное число 1110111, 112 в десятичное

методом суммирования степеней двойки.

 

1110111,112 =

1-26+ Ь 2 5+ 1-24 + 0-23+ 1-22+ Ь 2 г+ 1-2° +

 

+ 1-2-1 + 1-2-2 = 6 4 + 3 2 + 16 + 4 + 2 + 1 + — + — =

 

2

4

=

119 — = 119,7510.

 

 

4

 

Пример 23. Перевести двоичное число 1101 001 1001112 в деся­ тичное.

22

Переведем предварительно двоичное число в восьмеричное

001.101.001.100.111,= 151478 = Ь 84 + 5 - 83+ 1-8а + 4-81 + 7-8° =

= 4096 + 2560 + 64 +'32 + 7 = 676110.

§ 5. НЕПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ

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

Система

счисления

в остаточных классах

 

 

 

Пусть нам задан ряд взаимно простых целых положительных

чисел pj,

р 2, р3...........р„.

 

 

 

 

 

 

 

 

Под системой счисления в остаточных классах понимают такую

систему,

в которой

целое

положительное число

представляется

в виде набора наименьших остатков от деления на числа

р х, р 2,

Рз< ■■■Рп

N = (ап,

 

 

 

 

 

(1.29)

 

 

 

. . .

а 3,

а 2,

а ^ ,

 

где

 

 

 

 

 

 

 

 

 

 

 

а . ■N-

■jv_

■Pt

для

i =

1,

2, 3,

п,

(1.30)

 

 

 

pi

 

 

 

 

 

 

 

т.

е. цифра ctt есть наименьший положительный остаток от деления

N

на pt.

 

 

 

 

 

 

 

 

 

 

В отличие от позиционной системы, образование каждого раз­

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

друг от

друга. Цифра г-разряда а £-

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

В теории чисел доказано, что если р, взаимно простые числа, то описанное цифрами ап, . . . а 3, а 2, а 1 представление числа N является единственным. Диапазон представленных чисел равен

P = P i X p 2 X P s X

. . . X Рп-

(1.31)

Если в качестве оснований выберем взаимно простые числа

Р/ = 2, 3, 5,

7,

(1.32)

то диапазон представляемых чисел равен

 

P = 2-3-5-7 = 210.

(1.33)

23

Возьмем десятичное число N = 5010, лежащее в заданном диа­ пазоне (0, 210) и переведем его в систему остаточных классов

 

а х= 50—

g

2 — 50— 25-2 = 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а 2 = 50 —Г 50 3 = 5 0 -1 6 -3 = 2,

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

Wя 1! СЛ0 1

Г 5° 1 5 = 5 0 -1 0 -5 = 0,

 

 

 

 

 

 

 

 

 

_ 5 _

 

 

 

 

 

 

 

 

 

 

1S

II

СЛ о

 

5 0 ]

7 = 5 0 - 7 - 7 = 1.

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Число

N =

5010 =

N (а4,

а 3)

а 2,

 

0, 2,

0)

 

 

Пользуясь

соотношениями

(1.29) — (1.33),

составим

таблицу

десятичных чисел,

выраженных

в

системе

остаточных

классов

(табл. 1-4).

 

 

 

 

 

 

 

 

 

 

 

 

 

1-5

 

 

 

 

 

 

 

 

 

 

Т а

б

л и

ц а

Десятичное

Число в системе

 

 

Десятичное

Число в системе

 

число

остаточных классов

 

 

число

 

остаточных классов

1

(1.

1,

1,

1)

 

 

30

 

(2,

0,

0,

0)

 

2

(2,

2,

2,

0)

 

 

60

 

(4, 0, о, 0)

 

3

(3,

3,

0,

1)

 

 

70

 

(0,

0,

1,

0)

 

4

(4,

4,

1,

0)

 

 

105

 

(0,

0,

0,

1)

 

5

(5,

0,

2,

1)

 

 

120

 

(Е 0, 0, 0)

 

6

(6,

1,

0,

0)

 

 

160

 

(6,

0,

1,

0)

 

7

(0,

2,

1,

1)

 

 

180

 

(5,

0,

0,

0)

 

8

(1.

3,

2,

2)

 

 

200

 

(4,

0,

2,

0)

 

9

(2,

4,

0,

1)

 

 

210

 

(0,

0,

0,

0)

 

10

(3,

0,

1,

0)

 

 

 

 

 

 

 

 

 

15

0,

0,

1)

 

 

 

 

 

 

 

 

 

20

(6,

0,

2,

0)

 

 

 

 

 

 

 

 

 

Рассмотрим правила сложения и умножения в системе остаточ­

ных классов.

 

 

 

 

 

vl В

представлены соответственно

Пусть операнды (числа) A

остатками осг- и (5,- по основаниям рг при i

1,

2, 3, . . .

п.

В

 

Если результаты

 

операций

сложения и

умножения

А

и

А В представлены соответственно остатками уг и 8г, то справедливы следующие соотношения (доказательство приводить не будем):

yi =

<*i+ $t (mod pt)

s/ =

arPi(mod р,-),

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

V; = «г + Р,- — Щ~Г Pi ■P i-

(1.34)

Pi

 

24

8,. = а ..р .— ~а>РГ Pi-

 

 

 

 

(1.35)

 

 

 

. Pt .

 

 

 

 

 

 

Пример 24. Сложить число А

10 и число В

20. По таблице

1-4 находим

 

 

 

 

 

 

 

 

 

 

Л =

10= (3,

0,

1, 0)

 

 

 

 

 

В =

20 =

(б,

0,

2,

0).

 

 

 

 

 

Согласно (1.34) получим

 

 

 

 

 

 

 

 

 

а4 = 3 + 6 —

3 + 6 7 = 2,

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

а 3 = 0 + 0— 0 + 0 5 = 0,

 

 

 

 

ct2 — 1 + 2 —

1 + 2 - 3 =

0,

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

а1==0 + 0—

0 + 0

2 =

0 .

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

По таблице проверяем, что число (2, 0, 0, 0) есть 30 и равно сумме

операндов.

 

 

 

 

 

 

 

 

 

 

Пример 25. Умножить два числа

А = 7,

5 =

15.

По

таблице

1-4 находим.

 

 

 

 

 

 

 

 

 

 

Л =

7 =

(0,

2,

1,

1),

 

 

 

 

 

В =

15 =

(1,

0,

0,

1).

 

 

 

 

 

В соответствии с (1.35) получим

 

 

 

 

 

 

 

ЛВ = (0, 0, 0, 1).

 

 

 

 

 

По таблице проверяем, что число

(0,

0,

0,

1) есть

105

и равно

произведению операндов.

 

 

 

 

 

 

 

 

 

 

Как видим из примеров, сложение и умножение являются по­ разрядными операциями, что позволяет получить очень высокое быстродействие. К недостаткам данной системы следует отнести не­ возможность визуального сопоставления чисел и ограниченность действия системы сферой целых положительных чисел. В настоящее время в СССР построена ЭВМ в системе остаточных классов, однако принципы построения таких ЭВМ в настоящем пособии рассматри­ ваться не будут.

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

Глава вторая

П РЕД С ТАВЛ ЕН И Е ЧИСЕЛ В Ц И Ф Р О В Ы Х М А Ш И Н А Х

§ 1. ФОРМЫ ПРЕДСТАВЛЕНИЯ ЧИСЕЛ В МАШИНАХ

Как и при ручном счете, для представления чисел в ЦВМ при­ меняются две формы: естественная и нормальная.

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

Естественная форма записи чисел

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

ную части.

 

 

Например, числа 18,374; 399,054, 1111,00011;

10111, 1101111;

101,

10001

записаны в естественной форме.

 

В

ЦВМ,

где применяется естественная форма

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

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

Разрядная сетка или ячейка памяти такой машины состоит из знакового разряда и цифровых разрядов, часть из которых отве­ дена для записи целой части, остальные отведены для записи дроб­

ной части

числа.

 

 

 

 

 

Знак

Целая часть

Дробная часть

 

 

 

 

 

 

Номера

0

1 2 . . . т

 

т 1 т + 2 /72 - f 3

т -f- п

разрядов

 

 

 

 

 

 

 

Рис.

1

 

Для изображения знака числа отведен один разряд. В боль­ шинстве машин в знаковом разряде принято изображать знак < + > цифрой 0, а знак<;—> цифрой 1. Для изображения целой части числа на рис. 1 отведено т разрядов, дробной — п разрядов.

26

Определим границы диапазона чисел, с которыми может опери­

ровать ЦВМ с разрядной сеткой, изображенной на рис.

1.

Максимальное положительное число,

которое

можно

записать

в машине, равно

 

 

 

 

 

 

1

...........1 , 1 1

. . . .

1 =

10

. . . . 0

,

 

 

т цифр

п цифр

 

 

( т + 1) цифр

 

 

0

...........0 —0,

О . . . .

01

=

■2~п.

 

 

п цифр

л цифр

 

 

 

 

Минимальное положительное число, которое можно изобразить, равно

0 . . . . 00 , 00 . . . 01 = 2~п.

т цифр

п цифр

 

Общий диапазон чисел равен

 

 

2-,!< | М | < 2 т —2~п.

(2.1)

Разрядная сетка ЦВМ с фиксированной запятой с четырьмя раз­ рядами для хранения целой части и двенадцатью разрядами для хранения дробной части приведена на рис. 2.

 

Знак

Целая

часть

 

,

 

 

Дробная

часть

 

 

 

Номера

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

разрядов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2

Диапазон чисел, с которыми может оперировать ЦВМ, со­ гласно (2.1) будет равен

2_,2< | М | < 2 4— 2~12,

0,00024 < | N | < 16— 0,00024.

Пример 1. Записать в ячейке, приведенной на рис. 2, десятичное число -4- 15, 136:

+ 15, 13610= + 1111, 001 000 101 101.

Запись данного двоичного числа в ячейке памяти приведена на рис. 3.

0 0 1 0 0 0 1 0 1 1 0 1

Рис. 3

Пример 2. Записать в ячейке приведенное на рис. 2 десятичное число — 11,0941о:

— 11,094 = — 1011, 000 НО 000 001.

27

Запись данного двоичного числа в ячейке памяти приведена на рис. 4.

1

1

0

1

1

0

0

0

1

1

0

0

0

0

0

0

1

Рис. 4

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

N i =

12 — = 1100,001,

 

8

М2=

5 =0101,000,

N 1-Ni = 1100,001 • 0101,000 = 111100,101.

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

Для облегчения подбора масштабных коэффициентов запятая

обычно фиксируется перед

старшим

цифровым разрядом числа,

т. е. сразу после знакового

разряда

[рис. 5]. При этом все числа

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

2 ~ " < |М |< 1 - 2 “ "

 

Знак

 

 

Дробная

часть

 

Номера

0

1

.2

3

4

5

п

разрядов

 

 

 

 

 

 

 

Веса

2—1

2—2

2 - 3

2- 4

2“ 5

2-п

разрядов

 

 

 

 

 

 

 

 

 

 

Рис.

5

 

 

 

28

Нормальная форма представления чисел

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

N = N g\0p,

где 10 — основание системы, р — порядок чисел,

АД — мантисса числа, удовлетворяющая условию 0<Д ЛД| < 4 . Например,

АД = 18,37410 = 0,18374 • 102,

М2 = 0,0005751п = 0,575 • Ю- 3 ,

7V3 = — 10111,0012 = — 0,10111001 • Ю101,

Л74 = 0,001 112 = 0,111 • 10_1°.

Как видно, запись числа в нормальной форме не определяется однозначно, поскольку справедливы и другие записи

7VX= 18,37410 = 0,018374-103,

АД = 0,0005751о = 0,0575-10“ 2,

АД = — 10111,0012 = —0,010111001 • Ю110,

yv4 = 0,001112 = 0,0111-10_1.

Если в старшем разряде (после запятой) мантиссы АД стоит зна­ чащая цифра, т. е. цифра, отличная от нуля, то число N называют нормализованным. В этом случае запись числа в нормальной форме определяется однозначно. Мантисса нормализованного числа должна удовлетворять условию

где 10 — основание системы. Для двоичной системы

Y < l ^ o | < l -

(2.2)

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

0,1 С | А70)< 1 .

(2.3)

Если условие (2.1) не выполняется, числа называют ненорма­ лизованными. Числа — 0,1239-102; 0,999-10~3; — 0,1000001 • 10+ш

0,11111111 • 10~100 являются нормализованными, поскольку они удовлетворяют условию (2.1). Числа 0,0137• 103; — 0,0101111110п °,

0,00011 • 10 011 являются ненормализованными, поскольку они не удовлетворяют условию (2.1). Все арифметические действия в ма­ шинах, как правило, выполняются только над нормализованными числами.

29

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