Материал: Решение радиотехнических задач с помощью ЭВМ. учебное пособие. Слинчук С.А., Корчагин Ю.Э

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

3.3.2. Шестнадцатеричная система

Основание р=16. База — цифры от 0 до 9 и буквы A,B,C,D,E,F.

В табл. 3.4. приведено соответствие цифр шестнадцатеричной системы десятичным числам.

Таблица 3.4

Таблица соответствия цифр шестнадцатеричной системы десятичным числам

10-я

16-я

10-я

16-я

10-я

16-я

10-я

16-я

0

0

9

9

18

12

27

1B

1

1

10

A

19

13

28

1C

2

2

11

B

20

14

29

1D

3

3

12

C

21

15

30

1E

4

4

13

D

22

16

31

1F

5

5

14

E

23

17

32

20

6

6

15

F

24

18

33

21

7

7

16

10

25

19

34

22

8

8

17

11

26

1A

35

23

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

Таблица 3.5

Таблица соответствия цифр шестнадцатеричной системы двоичным числам

2-а

8-я

2-я

8-я

0000

0

1000

8

0001

1

1001

9

0010

2

1010

A

0011

3

1011

B

0100

4

1100

C

0101

5

1101

D

0110

6

1110

E

0111

7

1111

F

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

Пример: 56,А816=101 0110, 1010 10002.

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

Пример: 111 0100 1110 0111, 11012=74E7,D16.

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

Пример: 98610=3DA16.

Для перевода правильной дроби из 10-системы счисления в 16-ю СС нужно умножить исходную дробь и дробные части получающихся произведений на основание 16. Целые части получающихся произведений дают последовательность цифр, которая является представлением дроби в 16-ой системе счисления.

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

Пример:

Арифметические действия с восьмеричными и шестнадцатеричными числами:

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

7568+4528=14308

1А516+С3516=DDA16

7458+3638=13308

1F416+91116=B0516.

3.4. Задачи для самостоятельного решения

1) Перевести двоичное число во все известные вам системы счисления:

а) 1001011101

б) 10110001111

в) 1111011010

г) 1111100001

д) 100011100011

е) 10001101001

ж) 111100000111111

з)10101100110101

и) 1111000111110101

к) 10101101011010101

2) Перевести восьмеричное число во все известные вам системы счисления:

а) 526

б) 457

в) 562

г) 125

д) 443

е) 361

ж) 777

з) 1267

и) 6375

к) 774527

3) Перевести десятичное число во все известные вам системы счисления:

а) 58

б) 96

в) 129

г) 345

д) 789

е) 953

ж) 1283

з) 1892

и) 5638

к) 105896

4) Перевести шестнадцатеричное число во все известные вам системы счисления:

а) 1А

б) 26

в) 3AF

г) C45

д) D56

е) AFD

ж) 4A5F

з) 9E6CA

и) ABC5F

к) 48FF56A

5) Сложить

а) 2210+568

б)458+96316

в)1001012+5678

г)56810+А4516

д)368+110001110102

е) 100111012+1000101112

ж)1111011112+1011011112

з) 12В516+456216

и)4895216+5623148

к)458910+ААВВСС16

6) Перемножить:

а) 1001012*1012

б)1001111*11012

в)1101012*101112

г)4528*128

д)23568*2568

е) 14А16*6516

ж)89В16*36816

з) 52610*478

и)45238*56916

к)86210+С5816

4. Представление чисел в эвм

4.1. Прямой, обратный и дополнительный коды

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

В ВТ применяют прямой, обратный и дополнительный коды.

Прямой код используется для представления целого двоичного числа. Прямой двоичный код Рпр(х) — это такое представление двоичного числа х, при котором знак «+» кодируется нулем в старшем разряде числа, а знак «-» — единицей. При этом старший разряд называется знаковым.

Например, числа +6 и -6, представленные в прямом восьмирядном коде, выглядят так: +6 = 0'0000110 В; -6 = 1'0000101. Здесь апострофом условно (для удобства определения знака) отделены знаковые разряды.

Обратный код используется для представления отрицательных чисел путём постановки в знаковый разряд единицы и замены во всех других разрядах числа единиц нулями, а нулей единицами (инверсия), то есть обратный код Робр(х) получается из прямого кода по следующему правилу:

где горизонтальной чертой сверху обозначена инверсия.

Пусть, например, необходимо получить обратный код для числа .х =–14. Переводим число 14 в двоичную систему, получаем 1110. Считая, что числа представлены 8 разрядами, записываем прямой код Pпр(-14)=1’0001110. Поскольку число отрицательное, инвертируем все разряды кроме знакового Pпр(х)=1’1110001.

Дополнительный код Рдоп(х) образуется следующим образом:

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

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

Найдем для примера дополнительный код для числа

х = -13. Получаем прямой код Pnp(x) = (1'0001101), инвертируем все, кроме знакового разряда, получаем обратный код Робр(х) =(1’1110010). Прибавляем к обратному коду 1, получаем Рдоп) = (1’1110011) —дополнительный код.

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