21.10.2006

Представление чисел в "машинных" системах счислениях

Изучаем "машинные" числа, учимся переводить из одной системы счисления в другую.

При наладке аппаратных средств ЭВМ или создании новой программы часто возникает необходимость заглянуть внутрь памяти ЭВМ, чтобы оценить её текущее состояние. Но там всё заполнено длинными последовательностями нулей и единиц – двоичными числами. Эти последовательности очень неудобны для восприятия. В связи с этим двоичные числа стали разбивать на группы по три или четыре разряда. Из трёх нулей и единиц можно составить восемь различных двоичных чисел ( 23 = 8), а из четырёх – шестнадцать ( 24= 16). Для кодирования 3 бит требуется 8 цифр, и, поэтому взяли цифры от 0 до 7 десятичной системы счисления, т.е. в соответствии с определением получили алфавит восьмеричной системы счисления.

Восьмеричный алфавит

0

1

2

3

4

5

6

7

Двоичное число (триада)

000

001

010

011

100

101

110

111

Трёхразрядное число, соответствующее цифре восьмеричного числа, называется двоичной триадой.

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

Пример. Перевести двоичное число 1010012 в восьмеричное:     101 0012  → 518

Для кодирования 4 бит требуется 16 знаков, для чего используются 10 цифр десятичной системы и 6 букв латинского алфавита: A, B, C, D, E, F.

Шестнадцатеричный алфавит

0

1

2

3

4

5

6

7

8

9

A(10)

B(11)

C(12)

D(13)

E(14)

F(15)

Двоичное число   (тетрада)

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Четырёхразрядное число, соответствующее цифре шестнадцатеричного числа, называется двоичной тетрадой.

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

Пример. Перевести двоичное число 1010012 в шестнадцатеричное:     0010 10012  → 2916

 «МАШИННЫЕ» СИСТЕМЫ СЧИСЛЕНИЯ

Система счисления

Основание

Алфавит цифр

Десятичная

10

0   1   2   3   4   5  6  7  8   9

Двоичная

2

0   1

Восьмеричная

8

0   1   2  3   4   5  6  7 

Шестнадцатеричная

16

0  1  2  3  4  5  6  7  8  9   A   B   C   D   E   F

Из данной таблицы видно, что переполнение разряда в каждой системе счисления наступает после последней цифры (знака) алфавита, и так называемый десяток в различных системах счисления различный.

Каждая система счисления из «машинной» группы применяется в различных случаях, а именно: двоичная – для организации машинных операций по преобразованию информации, восьмеричная и шестнадцатеричная – для представления машинных кодов в удобном виде. Десятичная система применяется для ввода данных и вывода на устройства печати и на экраны мониторов.

ЗАДАНИЯ

  1. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие числа: 112, 11012, 11112, 1101012, 1010102, 1111002, 101010112.
  2. Перевести в двоичную систему счисления следующие числа: 468, 278, EF16, 12A16.
  3. Сравнить числа, выраженные в различных системах счисления: 11012 и D16; 111112 и 228; 358 и 16C16 .