Основание р=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.
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 |
Информация хранится в памяти машины и обрабатывается процессором в двоичном виде. Формат записи данных в памяти называется внутренним представлением информации в ЭВМ. С целью упрощения реализации арифметических операций, для хранения данных применяют специальные коды. За счет этого облегчается определение знака результата операции, а операция вычитания чисел сводится к арифметическому сложению. В результате упрощаются устройства, выполняющие арифметические операции.
В ВТ применяют прямой, обратный и дополнительный коды.
Прямой код используется для представления целого двоичного числа. Прямой двоичный код Рпр(х) — это такое представление двоичного числа х, при котором знак «+» кодируется нулем в старшем разряде числа, а знак «-» — единицей. При этом старший разряд называется знаковым.
Например, числа +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) —дополнительный код.
При сложении и вычитании чисел они обычно представляются в зависимости от типа арифметико-логического устройства в обратном или дополнительном коде Производят арифметическое суммирование этих кодов, включая разряды знаков, которые при этом рассматривают как старшие разряды. В результате получают алгебраическую сумму в прямом коде, если эта сумма положительная, и в дополнительном коде, если сумма отрицательная.