Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.DOC
Скачиваний:
10
Добавлен:
05.11.2018
Размер:
295 Кб
Скачать
☆

Перевод чисел из одной системы счисления в другую Перевод чисел из восьмеричной и шестнадцатеричной систем в двоичную и обратно

Для перевода чисел из восьмеричной и шестнадцатеричной систем в двоичную необходимо:

  • двигаясь от запятой влево и вправо заменить каждую цифру эквивалентной ей двоичной триадой (тройкой цифр – для восьмеричной системы) или тетрадой (четверкой цифр – для шестнадцатеричной системы);

  • удалить из записи числа незначащие нули.

Переведем число 251,34 (8) в двоичную систему.

2 5 1 , 3 4

010 101 001 , 011 100 = 10101001,0111 (2).

Аналогично, но разбивая число на тетрады, переведем 7A,B2 в двоичную систему:

7 A , B 2

0111 1010 , 1011 0010 = 1111010,1011001 (2).

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

  • двигаясь от запятой влево и вправо разбить число на группы по три или четыре цифры, при необходимости добавляя незначащие нули;

  • заменить каждую группу одной восьмеричной или шестнадцатеричной цифрой.

Переведем число 1010111,10111 (2) в восьмеричную и шестнадцатеричную системы:

001 010 111 , 101 110 = 127, 56 (8),

0101 0111 , 1011 1000 = 57, B8 (16).

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

Для перевода числа из системы счисления с основанием q в десятичную систему необходимо разложить число по степеням основания q, используя (1).

Примеры. 10111,11 (2) = 1 x 24 + 1 x 22 + 1 x 21 + 1 x 20 + 1 x 2-1 + 1 x 2-2 = 23,75 (10).

174,2 (8) = 1 x 82 + 7 x 81 + 4 x 80 + 2 x 8-1 = 124,25 (10).

B5,8 (16) = 11 x 161 + 5 x 160 + 8 x 16-1 = 181,5 (10).

Перевод чисел из десятичной системы в другие

Для перевода чисел, состоящих из целой и дробной частей, из десятичной системы в другие системы, существуют два правила: одно – для перевода целой части числа, а другое – для дробной части.

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

Пример. Переведем число 67 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы.

67 2 67 8 67 16

66 33 2 64 8 8 64 4

1 32 16 2 3 8 1 3

1 16 8 2 0

0 8 4 2

0 4 2 2

0 2 1

0

В результате вычислений мы получили представление числа 67(10) в других системах счисления:

67(10) = 1000011(2) = 103(8) = 43(16).

Альтернативный способ перевода основан на использовании следующего правила:

qk = 1 000 … 00

k нулей. Например, 103 = 1 000.

Выпишем несколько первых степеней двойки, восьми и шестнадцати:

21 = 2, 81 = 8. 161 = 16.

22 = 4, 82 = 64. 162 = 256.

23 = 8, 83 = 512.

24 = 16,

25 = 32,

26 =64,

27 = 128,

28 =256,

29 = 512,

210 = 1024.

Пример. Переведем число 153 из десятичной системы в двоичную систему. Представим число 153 как сумму чисел, представляющих собой степени числа два:

153(10) = 128 + 16 + 8 + 1 = 27 + 24 + 23 + 20 = 10011001(2).

При переводе десятичной правильной дроби в систему с основанием q необходимо последовательно умножать эту дробь на основание q (по правилам десятичной системы), отделяя после каждого умножения целую часть произведения. Число в системе с основанием q записывается в виде упорядоченной последовательности целых частей произведений, в порядке их получения.

Число произведений определяется точностью перевода, т.е. сколько цифр после запятой надо иметь в новой системе счисления. Если необходимо иметь k цифр после запятой, то для получения результата без округления необходимо выполнить k умножений. Если необходимо получить результат с округлением, то умножение выполняют k+1 раз и далее производят округление по половине основания, используя последнюю полученную цифру.

Пример. Перевести число 0,453 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную. Точность перевода – три цифры после запятой.

0,453 0,453 0,453

2 8 16

0,906 3,624 7,248

2 8 16

1,812 4,992 3,968

2 8 16

1,624 7,936 15,488

2 8 16

1,248 7,488 7,808

Четвертое умножение выполнено с целью округления результата перевода.

В результате вычислений мы получили представление числа 0,453(10) в других системах счисления:

  • без округления - 0,453(10) = 0,011(2) = 0,347(8) = 0,73F(16);

  • с округлением - 0,453(10) = 0,100(2) = 0,35(8) = 0,74(16) (добавлена 1 к предыдущему разряду).