Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція №2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
225.28 Кб
Скачать

2. Восьмирічні та шістнадцятирічні числа.

Основание 10 важно потому, что мы пользуемся им в повседневной жизни, а основание 2 - потому, что непосредственной обработке в цифровых схемах под­вергаются двоичные числа. Числами, выраженными в других системах счисле­ния, напрямую оперируют не так часто, но они могут быть важны для докумен­тации и для других целей. В частности, для краткой записи многоразрядных двоичных чисел в цифровой системе удобно применять основания 8 и 16.

В восьмеричной системе счисления (octal number system) в качестве основания используется число 8, а в шестнадцатеричной системе счисления (hexadecimal number system) -число 16. В табл.2.1 представлены двоичные целые числа от 0 до 1111 и их восьмеричные, десятичные и шестнадцатеричные эквиваленты, Для восьмеричной системы нужны 8 цифр, поэтому в ней используются цифры 0-7 десятичной системы. Шестнадцатеричнои системе нужны 16 цифр, поэтому для нее десятичные цифры 0-9 дополняются буквами AF (hexadecimal digit A-F).

Восьмеричная и шестнадцатеричная системы счисления удобны для представ­ления многоразрядных двоичных чисел потому, что их основания являются сте­пенями числа 2. Поскольку в строке из 3 битов возможны 8 различных комбина­ций, из этого следует, что каждую такую строку можно однозначно представить одной восьмеричной цифрой, как это сделано в третьем и четвертом столбцах в табл. 2.1. Точно так же 4-битовую строку можно представить одной шестнадцатеричной цифрой согласно пятому и шестому столбцам таблицы.

Таким образом, двоичные числа легко преобразовать в восьмеричные (binary-to-octal conversion). Начиная с двоичной точки и двигаясь влево, мы просто де­лим биты на группы по три и каждую группу заменяем соответствующей восьме­ричной цифрой:

1000110011102 =100 011 001 1102 = 43168 0111011011101010012 = 011 101 101 110 101 0012 = 3556518.

Подобным же образом осуществляется преобразование двоичных чисел в ше-стнадцатеричные (binary-to-hexadecimal conversion), за исключением того, что биты надо разбивать на группы по четыре:

1000110011102 = 1000 1100 11102 = 8СЕ16 111011011101010012 = 0001 1101 1011 101010012=1DBA916.

В этих примерах мы были вольны добавлять нули слева до полного числа битов, кратного 3 или 4, по мере необходимости.

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

010Л011001011002 =010.101 100 101 1002 = 2.54548

0010.1011 0010 11002 =2.В2С16.

Осуществить преобразование в обратном направлении, из восьмеричного или шестнадцатеричного вида в двоичный (octal- или hexadecimal-to-binary conversion) очень легко. Нужно просто заменить каждую восьмеричную или шестнадцатеричную цифру соответствующей 3- или 4-битовой строкой, как по­казано ниже:

13578 = 001 011 101 1112 2046.178 = 010 000 100 110.001 1112 BEAD16 =1011 1110 1010 11012 9F.46C, =1001 1111.0100 0110 1100,.

Восьмеричная система счисления была очень популярна 25 лет назад: тогда у ряда миникомпьютеров сигнальные лампочки и переключатели на передней па­нели были разбиты на группы по три. Однако сегодня восьмеричная система чи­сел используется не так часто из-за преобладания машин, которые оперируют 8-разрядными байтами (bytes). Из восьмеричного представления многобайтовых величин трудно извлечь значения отдельных байтов; например, как выглядят в восьмеричной записи четыре 8-разрядных байта 32-разрядного числа, которое в восьмеричном представлении имеет вид: 123456701238.

В шестнадцатеричной системе 8-разрядный байт представляется двумя циф­рами, а 2п цифр изображают ,,байтовое слово’’: каждая пара цифр образует в точ­ности один байт. Например, 32-разрядное шестнадцатеричное число 5678ABCD состоит из четырех байтов, значения которых равны 56 ,78 , АВ и CD16. В этом контексте состоящее из 4-х битов одноразрядное шестнадцатеричное число назы­вают иногда полубайтам (nibble); 32-разрядное (4-байтовое) число состоит из вось­ми полубайтов. Шестнадцатеричные числа часто используют при описании ад­ресного пространства в памяти компьютера. Например, о компьютере с 16-разрядными адресами могут сказать, что его память, предназначенная для чте­ния и/или записи, располагается по адресам 0-EFFF , а в отношении части памяти с адресами F000-FFFF предусмотрено только чтение из нее. Во многих компью­терных языках программирования используется префикс «Ox» (Oxprefix) для обо­значения шестнадцатеричной записи числа, например: оxBFC0000.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]