Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.07.2024

Просмотров: 82

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Пример

11.

Перевести десятичное число 9510 в двоичное

 

95

 

11

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

47

11

 

 

 

 

 

 

 

15

 

4

 

 

 

 

 

 

 

 

23

1

 

 

 

 

 

14

 

7

2

 

11

I2

 

 

 

 

1

 

6

3

 

10

 

 

 

 

 

 

5

I 2

 

 

 

 

 

1

2

 

1

4

2

 

 

 

 

 

 

1

 

 

1

2

 

2_

 

 

 

 

 

 

 

 

t 0 I

 

Т

ч-

9510= 10111112=

1-26 + 0-25+

1-24+ Ь 2 3+ 1-22+

1-21+

1-2°

 

 

= 64 + 0 + 16-f8 + 4 + 2-}-1 — 95ю.

 

 

 

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

129

11

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

64

 

11

 

 

 

 

 

 

 

9

6

 

 

 

 

 

 

 

 

 

32

I2

 

 

 

 

 

 

8

4

 

2

 

 

 

 

 

 

 

16

I2

 

 

 

 

1

4

 

12

 

 

 

 

 

 

16

8

I2

 

 

 

 

0

 

12

0

8

 

 

 

 

 

4

 

 

 

 

 

 

0

 

0

 

4

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

ш

 

~

12910=

10000001а= 1-27 + 0-26 + 0-25 + 0-24 + 0-23 +

0-22 +

 

 

 

+ 0-2х +

1-2° = 128+ 1 =

12910.

 

 

 

Пример

13.

Перевести десятичное

число

0,62510

в

двоичное:

 

 

 

|

0,

625

 

 

 

 

 

 

 

 

 

X

2

 

 

 

 

 

 

 

 

1,

250

 

 

 

 

 

 

 

 

 

X 2

 

 

 

 

 

 

 

 

0,

500

 

 

 

 

 

 

 

 

 

X 2

 

 

 

 

 

 

 

 

1,

000

 

 

 

 

0,625 = 0,1012 = 0 -2°+ 1 • 2-1 + 0- 2~2+ 1 • 2_3 = .

 

 

 

 

= — + — = — = 0,62510.

 

 

 

 

 

 

2

8

8

 

 

 

 

 

18


Пример 14. Перевести десятичное число 0,585 в двоичное

1,

585

 

X 2

1,

170

 

X 2

о,

340

 

X 2

0,

680

 

X 2

1,

360

 

X 2

0,

720

 

X 2

1,

440

0,58510 = 0,100101» с точностью до 2_6.

При переводе неправильных десятичных чисел отдельно пере­ водят целую и дробную части. Например, 129, 62510 = 10000001012.

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

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

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

Пример 15. Перевести десятичное число 3510 в двоичное. Число 3510 в двоично-десятичной системе имеет вид

ООП

0101

2 тетрада

1 тетрада

3510 = 00110Ю12_ 10 = 01012-Ю°0 + 00112- Ю}0 =

= 01012-12+ 00112-10102= 0101 + 11110= 1000112=

= 1-25 + 0-24+ 0-23 + 0-22+ 1-21+ 1.2» = 32 + 2 + 1 = 3510..

2

19



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

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

Пример 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