
- •Тема 2: «Кодирование данных»
- •2.1. Носители данных
- •2.2. Операции с данными
- •2.3. Системы счисления
- •2.2.1. Позиционные системы счисления
- •2.2.2. Перевод чисел из одной сс в другую
- •2.2.3. Смешанные сс
- •2.3. Внутреннее представление данных в памяти эвм
- •2.2.1 Понятие о кодировании информации
- •2.3.2. Понятие о специальном кодировании
- •2.3.3. Способы представления информации в эвм
- •2.4. Основные структуры данных
- •2.4.1. Линейные структуры
- •2.4.2.Табличные структуры
- •2.4.3. Иерархические структуры данных
2.2.2. Перевод чисел из одной сс в другую
При решении задач с помощью вычислительной техники исходные данные, как правило, задаются в десятичной СС, в этой же СС представляются и результаты, сами же операции выполняются в двоичной СС. Т. к. данные кодируются в двоичной СС, то возникает необходимость перевода чисел из десятичной СС в двоичную и наоборот.
Правило перевода из двоичной СС в десятичнуюможно сформулировать следующим образом: все цифры числа и основание СС заменяются их десятичными эквивалентами; число представляется в виде суммы произведений степеней на значения соответствующих позиций; затем производится арифметический подсчет.
Пример:
Правила перевода чисел из десятичную в двоичную различны для целой и дробной частей числа.
Для перевода целого числа (или целой части смешанного числа) используется алгоритм последовательного деления исходного числа на основание новой СС (т. е. на 2), действия производятся в старой СС (в десятичной). Деление прекращается, когда очередное частное от деления станет равно 0. Остатки от деления, выписанные в обратном порядке, образуют результат.
Пример:
11 |
2 |
|
|
|
1 |
5 |
2 |
|
|
|
1 |
2 |
2 |
|
|
|
0 |
1 |
2 |
|
|
|
1 |
0 |
Таким образом,
Для перевода дробной части числа используется алгоритм последовательного умножения на основание новой СС (на 2), действия производятся в старой СС (в десятичной), целые части чисел, полученные в результате умножения дают запись результата.
Пример:
0 |
875 |
х |
|
|
2 |
1 |
75 |
х |
|
|
2 |
1 |
5 |
х |
|
|
2 |
1 |
0 |
Умножение прекращается, либо когда дробная часть становится равна 0, либо, когда будет получена требуемая точность представления числа.
0 |
7 |
х |
|
|
2 |
1 |
4 |
х |
|
|
2 |
0 |
8 |
х |
|
|
2 |
1 |
6 |
. . . .
Аналогично переводятся позиционные числа и с другими основаниями СС.
2.2.3. Смешанные сс
В смешанных СС каждая цифра в СС с основанием Р записывается в виде цифры с основанием Q, (Q<P). Чтобы запись числа в смешанной СС была однозначной, для представления любой цифры исходного числа отводится одно и то же количество разрядов, достаточное для представления любого базисного числа исходной СС.
Пример:
|
= |
1001 |
0010 |
|
(двоично-десятичная СС) |
|
|
9 |
2 |
5 |
|
Аналогично рассмотренной двоично-десятичной СС можно использовать и другие смешанные СС при различных значениях PиQ(P- старшее основание СС,Q– младшее).
Отдельно рассматривается случай, когда
, гдеl– целое положительное
число. В этом случае запись числа в
смешанной СС совпадает с изображением
этого числа в СС с основаниемQ.
Например,
,
т. е. запись шестнадцатеричного числа
в смешанной двоично-шестнадцатеричной
СС будет тождественна его записи в
двоичной СС. Это свойство широко
используется на практике для сокращенной
записи чисел заданных в СС с небольшим
основанием.
Преобразование чисел из двоичной системы в восьмеричную и шестнадцатеричную
Для представления цифры в 16-чной СС понадобится 4 цифры двоичной СС, для представления цифры в 8-ной СС понадобится 3 цифры двоичной СС. Для перевода 8-чного числа в 2-чную СС надо заменить каждую цифру этого числа ее двоичным эквивалентом. Аналогично переводятся числа из 16-ой СС в двоичную.
Аналогично выполняются обратные преобразования
Таблица эквивалентов
Десятичная, Восьмеричная (23), Шестнадцатеричная (24), |
Двоичная |
0 |
0000 |
1 |
0001 |
2 |
0010 |
3 |
0011 |
4 |
0100 |
5 |
0101 |
6 |
0110 |
7 |
0111 |
8 |
1000 |
9 |
1001 |
10 (A) |
1010 |
11 (B) |
1011 |
12 (C) |
1100 |
13 (D) |
1101 |
14 (E) |
1110 |
15 (F) |
1111 |
Примеры.
10 |
2->8 |
8 |
2->16 |
16 |
46,5 |
101 110,1 |
56,4 |
0010 0111,1000 |
2Е,8 |
21,5 |
010 101,1 |
25,4 |
0001 0101,1000 |
15,8 |
Аналогично можно выполнять преобразования
чисел и для СС с основаниями 3 и 9, Они
также связаны соотношением
(9=32)
Десятичная, девятеричная |
Троичная |
0 |
00 |
1 |
01 |
2 |
02 |
3 |
10 |
4 |
11 |
5 |
12 |
6 |
20 |
7 |
21 |
8 |
22 |
Для представления цифры в 9-ной СС понадобится 2 цифры троичной СС. Для перевода 9-чного числа в 3-чную СС надо заменить каждую цифру этого числа ее троичным эквивалентом.
Пример
9 |
3 |
345,3 |
10 11 12,10 |