Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Понятие о системах счисления.doc
Скачиваний:
16
Добавлен:
14.08.2019
Размер:
136.7 Кб
Скачать

Алгоритмы перевода чисел в другую систему счисления, использующие арифметику новой системы счисления (q).

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

Пусть Хq = anan-1…a1a0, где Х – число, записанное в системе счисления с основанием q; an, an-1, …, a1, a0 – цифры в записи числа. Тогда в десятичной системе

Х = an* q n + an-1* q n-1 +…+ a1* q1 + a0* q0.

Алгоритм перевода дробного числа из q- системы счисления в десятичную:

Пусть nq = 0,a1a2…an-1an, тогда в 10-СС n = a1 * q-1 + a2 * q-2 + … + an * q-n.

Пример 1. 10110101(2) = 1.27 + 0.26 + 1.25 + 1.24 + 0.23 + 1.22 + 0.21 + 1.20 = 181.

0,110010(2) = 1.2-1 + 1. 2-2 + 0.2-3 + 0.2-4 + 1.2-5 + 0.2-6 = 0,78125.

Пример 2. Перевести в 10 – СС число 0,011.

0,0112 = 0*2-1 + 1*2-2 + 1*2-3 = 0,25 + 0,125 = 0,375.

Перевод чисел в системах счисления с кратными основаниями.

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

Первый случай. X(p) X(q); p = qk. Каждая цифра числа X(p) заменяется своим k-разрядным представлением в q-системе.

Пример. p = 8; q = 2; k = 3. Исходное число: 123,4566(8).

1

2

3,

4

5

6

6

001

010

011,

100

101

110

110

Каждая восьмеричная цифра заменена двоичной триадой (см. выделенную штриховой линией часть табл. 1).

Примечание: незначащие нули в старших и младших разрядах двоичного числа можно опустить. Ответ: 1010011,10010111011(2).

Пример. p = 16; q = 2; k = 4. Исходное число: 79A,2C(16).

7

9

А,

2

С

0111

1001

1010,

0010

1100

Каждая шестнадцатеричная цифра заменена двоичной тетрадой.

Ответ: 11110011010,001011(2). Здесь также опущены незначащие нули в младших и старших разрядах при записи двоичного числа.

Второй случай. X(p) X(q); q = pk. Число в исходной p-системе разбивается на группы по k разрядов вправо и влево от запятой, причем в неполные группы добавляются нули (справа - для дробной части, слева - для целой). Каждая группа из k цифр p-системы заменяется одним эквивалентным ей символом q-системы.

Пример. Перевести двоичное число 1010011,10010111011 в восьмеричную систему.

001

010

011,

100

101

110

110

1

2

3,

4

5

6

6

Ответ: 123,4566(8).

Пример. Перевести двоичное число 11110011010,001011 в шестнадцатеричную систему.

0111

1001

1010,

0010

1100

7

9

A ,

2

C

Ответ: 79A,2C(16).

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