Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

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



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

Двоичная система счисления имеет основание 2 и две цифры: 0 и 1.

Восьмеричная система имеет основание 8 и цифры: 0, 1, …, 7.

Шестнадцатеричная система имеет основание 16 и цифры: 0, 1, …, 9, A, B, C, D, E, F.

Ниже приведена таблица 1 соответствия чисел от 0 до 15 в данных системах счисления.

Таблица 1 Соответствие чисел в разных системах счисления

Десятичная Шестнадцатеричная Восьмеричная Двоичная
A B C D E F

Для преобразования целого числа Zp→Zq в случае q=pr, где r – целое число, большее единицы, достаточно Zp разбить справа налево на группы по r цифр и каждую из них независимо перевести в систему q.

Т.е. для перевода любого целого двоичного числа в восьмеричное (8=23) необходимо разбить его справа налево на группы по 3 цифры (триады, самая левая группа может содержать менее трех двоичных цифр), а затем каждой группе поставить в соответствие ее восьмеричный эквивалент.

Пример 10. Перевести число 11011001 из двоичной системы в восьмеричную.

11011001(2)=11011001=331(8)

т.к. 11(2)=3(8),

011(2)=3(8),

001(2)=1(8).

А перевод целого двоичного числа в шестнадцатеричное (16=24) производится путем разбиения данного числа на группы по 4 цифры (тетрады).

Пример 11. Перевести число 1100011011001 из двоичной системы в шестнадцатеричную.

1100011011001 (2)=1100011011001=18D9(16)

т.к. 1(2)=1(16),

1000(2)=8(16),

1101(2)=D(16),

1001(2)=9(8).

Задания.

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

1) 1110101011(2)à?(8), (16)

2) 10101001011(2)à? (8), (16)

3) 11110101101(2)à? (8), (16)

4) 1000010111110(2)à? (8), (16)

5) 101010101(2)à? (8), (16)

6) 1011010101101(2)à? (8), (16)

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

Для преобразования целого числа Zp→Zq в случае p=qr, где r – целое число, большее единицы, достаточно каждую цифру числа Zp заменить соответствующим r-разрядным числом в системе счисления q, дополняя его при этом нулями слева до группы в r цифр.

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

Пример 12. Перевести число 331 из восьмеричной системы в двоичную.

331(8)=11011001=11011001.

т.к. 3(8)=11(2), (первое число не обязательно дополнять до триады)

3(8)=11(2), а если дополнит до триады, то 011,

1(8)=1(2), а если дополнить до триады, то 001.

Пример 13. Перевести число 18D9 из шестнадцатеричной системы в двоичную.

18D9 (16)=1100011011001=1100011011001 (16)

т.к. 1(16)=1(2),

8(16)=1000(2),

D(16)=1101(2),

9(8)=1001(2).

Задания.

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

1) 3A74(16)à?(2) 7) 2A9C(16)à?(2)

2) 746(8)à?(2) 8) 2535(8)à?(2)

3) 7BCD(16)à?(2) 9) 152E(16)à?(2)

4) 253(8)à?(2) 10) 1624(8)à?(2)

5) 1F67(16)à?(2) 11) 7FD(16)à?(2)

6) 637(8)à?(2) 12) 251(8)à?(2)

 

Кодирование чисел. Прямой, обратный и дополнительный коды. Сложение чисел с фиксированной запятой в прямом, обратном и дополнительных кодах

 

 

В современных ЭВМ используется 2 способа представления двоичных чисел – с фиксированной и с плавающей запятой. В формате с фиксированной запятой используется как беззнаковое представление чисел, так и представление чисел со знаком, где знак кодируется двоичной цифрой – обычно плюсу соответствует 0, а минусу – 1. Под код знака обычно отводится старший разряд a0 двоичного вектора a0a1a2…an, называемый знаковым.

Запятая может быть фиксирована после любого разряда двоичного числа, но чаще всего используется 2 формата: целые числа, когда запятая фиксируется после младшего разряда an, и дробные числа – запятая фиксируется после a0.

Мы будем рассматривать дробные числа a0,a1a2…an.

Кодирование чисел

Прямой код

Пусть А= a0,a1a2…an.Если A>0, то А= 0,a1a2…an, если же A<0, то А= =1,a1a2…an.Приведенное кодирование дробных двоичных чисел со знаком принято называть прямым кодом числа и обозначается [A]d. То есть,

Пример 14.Если A=0,110101, то [A]d=0,110101.

Если A=-0,101110, то [A]d=1,101110.

Обратный код

Представление обратного кода определяется следующим соотношением:

Т.е. обратный код положительного числа равен самому числу. Для получения обратного кода отрицательного числа достаточно присвоить знаковому разряду значение 1 и проинвертировать все остальные разряды числа.

Для перехода из обратного кода в прямой осуществляется преобразование т.е. [[A]i]=[A]d.

Пример 15.Если A=-0,111000, то [A]i=1,000111.

Если A=-0,101110, то [A]i=1,010001.

Дополнительный код

Представление дополнительного кода определяется следующим соотношением:

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

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

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

Пример 16.Если A=-0,111000, то [A]i=1,000111, а [A]c=1,001000.

ЕслиA=-0,101110, то[A]i=1,010001, а[A]c=1,010010.

Задания.

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

1) 0,0111 6) -0,11110101

2) -0,0111 7) 0,1010110

3) -0,1000 8) -0,1000110

4) -0,0101 9) 0,10100000

5) -0,10100010 10) -0,10111000




©2015 studopedya.ru Все права принадлежат авторам размещенных материалов.