Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 1_РЕД_2.doc
Скачиваний:
291
Добавлен:
27.03.2016
Размер:
10.44 Mб
Скачать

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

С помощью позиционных систем с постоянными основаниями можно представить точно либо приближенно (с любой заданной точностью) любое вещественное число.

Из позиционных систем счисления проще всего двоичная, с основанием 2, где числа записываются с помощью символов из множества Е2 ={0, 1}. Единица старшего разряда равна двум единицам предшествующего. Для записи числа в этой системе его разлагают по степеням основания 2. Например, для числа 12510 = 126 + 125 +124+ 123 + 122 + 120 = 64 + 32 + 16 + 8 + 4 + 1. Т. е. двоичная запись числа 12510 имеет вид: 11111012. В силу своей простоты двоичная система нашла широкое применение в различного рода вычислительных и управляющих устройствах, так как для ее физической реализации достаточно обеспечить только два состояния логических элементов: «да — нет», «включено — выключено» и т. д. Двоичная система также служит модельной при исследовании структурных свойств множеств и логических объектов.

4.2.1. Перевод целых чисел из произвольной системы с постоянным основанием р  10 в десятичную систему

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

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

Решение. Последовательно записываем разложение числа по степеням основания 2 (развернутая форма представления), выражаем полученные степени в десятичной системе и суммируем:

11010012 = 126 + 125 + 123 + 120 = 6410 + 3210 + 810 + 110 = 10510.

Пример 2. Перевести в десятичную систему счисления число, представленное в шестнадцатеричной системе счисления как 8DВ416.

Решение. Записываем развернутую форму представления числа по степеням 16, выражаем полученные степени в десятичной системе счисления и суммируем:

8DВ416 = 8  163 + D  162 + B  161 + 4  160 = 8  4096 + 13  256 +  11  16 + 4 = 3276810 + 332810 + 17610 + 410 = 3627610.

4.2.2. Перевод целых чисел из десятичной системы счисления в системы с произвольными постоянными основаниями p  10

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

Пример 3. Перевести в двоичную систему число 2310.

Решение. Последовательно делим заданное число и его частные на 2, выделяя подчеркиванием остатки от деления на каждом шаге и самое последнее частное:

23 2

22  11 2

1 10  5 2

1 4  2 2

1 2 1

0

Двоичную запись числа получаем, располагая подчеркнутые числа в обратном порядке: 2310 = 101112.

Пример 4. Перевести в шестнадцатеричную систему счисления число 815010.

Решение. Последовательно делим число и его частные на 16, выделяя остатки от деления и самое последнее частное:

8150 16

8144  509 16

6 496  31 16

13 16 1

15

Искомую запись числа получаем, переводя все подчеркнутые числа в шестнадцатеричную систему счисления (1310 = D16, 1510 = F16) и располагая их в обратном порядке: 815010 = 1FD616.

Пример 5. Перевести в систему счисления с основанием p = 7 число 516210.

Решение. Последовательно делим число и его частные на 7, выделяя остатки от деления и самое последнее частное:

5162 7

5159  737 7

3 735  105 7

2 105  15 7

0 14 2

1

Запись числа в системе p = 7 получаем, располагая все подчеркнутые числа в обратном порядке: 516210 = 210237.

4.2.3. Перевод целого числа из системы счисления с основанием p = 2s в двоичную систему счисления

Данные преобразования являются одними из наиболее распространенных при анализе числовой информации. Переходы между системами счисления с основаниями вида p = 2s, являющимися степенями 2, проще (с наименьшим числом операций) выполнять через двоичную систему. Для быстрого перевода числа из системы с p = 2s в двоичную все значащие цифры числа (в том числе и 0), стоящие в разрядах числа, заменяют их двоичными записями длины s. Если в самых старших разрядах записи (слева) оказались стоящие подряд нули, их можно отбросить, как незначащие.

Пример 6. Перевести в двоичную систему счисления число, представленное в восьмеричной системе счисления: 30768.

Решение. Так как 8 = 23, то s = 3. Представляя по очереди цифры в разрядах числа их двоичными записями длины s = 3, получим: 38 = 0112, 08 = 0002, 78 = 1112, 68 = 1102.

Соединяя полученные двоичные выражения и отбрасывая незначащий нуль в первой записи, получим искомый ответ: 30768 = 110001111102.

Пример 7. Перевести в двоичную систему счисления число, представленное в шестнадцатеричной системе счисления как 2А0D16.

Решение. 16 = 24, s = 4. Все цифры в разрядах числа поочередно заменяем их двоичными записями длины s = 4:

216 = 00102, А16 = 10102, 016 = 00002, D16 = 11012.

Соединяя полученные двоичные выражения и отбрасывая незначащие нули в первой записи, получим: 2А0D16 = 101010000011012.

4.2.4. Перевод целого числа из двоичной системы счисления в систему с основанием p = 2s

При переводе целого числа все его цифры в разрядах двоичной записи числа, начиная с младших (стоящих справа), разбивают на группы длины s. Если последняя группа получилась длины, меньшей s, ее спереди дополняем незначащими нулями. Затем двоичные числа в полученных группах заменяют цифрами в системе с основанием p = 2s и объединяют в одну запись, которая и является искомым выражением.

Пример 8. Перевести в шестнадцатеричную систему счисления двоичное число 10110100112.

Решение. 16 = 24, s = 4. Разбиение на группы длины s = 4 с дополнением первой группы из двух цифр двумя незначащими нулями дает следующие двоичные числа: 0010, 1101, 0011.

Заменяем их числами в шестнадцатеричной системе счисления: 00102 = 216, 11012 = D16, 00112 = 316 и записываем слитно. В итоге получаем искомую запись числа: 10110100112 = 2D316.

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

Решение. 4 = 22, s = 2. Разбиение на группы длины s = 2 с дополнением первой группы одним незначащим нулем дает следующие двоичные числа: 01, 11, 01, 11, 10, 00.

Заменяем их числами в четверичной системе счисления: 012 = 14, 112 = 34, 012 = 14, 112 = 34, 102 = 24, 002 = 04 и записываем слитно. В итоге получаем искомую четверичную запись числа: 111011110002 = 1313204.