Восьмеричная и шестнадцатеричная системы счисления

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

Восьмеричная запись, как и шестнадцатеричная, используется для более компактного и удобного представления двоичных чисел. Она содержит 8 цифр от 0 до 7 и является, таким образом, системой счисления с основанием 8.

Каждый шестнадцатеричный и каждый восьмеричный символ может быть представлен единственным сочетанием четырех бит, как это показано в таблице 1.1

Таблица 1.1

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

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

Пример 1.4. Преобразование двоичного числа 00011101101110001110 в шестнадцатеричное представление (по таблице 1.1).

                   
         


0001 1101 1011 1000 1110

1 D B 8 Е

Пример 1.5. Преобразование шестнадцатеричного числа 5DE8 в двоичное представление (по таблице 1.1).

5DE8 = 0101110111101000

Пример 1.6. Преобразуем двоичное число 11111010101 в его восьмеричное представление. Начиная с младшего бита двоичного числа, делим его на группы из трех бит (триады). Затем согласно таблице 1.1 преобразуем каждую триаду в эквивалентную восьмеричную цифру. При этом нули в старшем разряде двоичного числа, представленного в табл. 1.1 игнорируются.

Получим: 011111010101 - двоичное

3 7 2 5 - восьмеричное

Если старшая триада оказывается частично заполненной, слева приписывают нужное количество нулей.

Пример 1.7. Преобразуем восьмеричное число 6530 в его двоичное представление: 6530 = 110101011000.

Следует обратить особое внимание, что нельзя производить перевод десятичных чисел в восьмеричные или в шестнадцатеричные и обратно с помощью таблицы 1.1!

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

Пример 1.8. Преобразование шестнадцатеричного числа 2C6F в десятичное (согласно формуле 1.1).

Значениями позиций первых четырех шестнадцатеричных цифр являются соответственно слева направо 4096 (163), 256 (162), 16 (161), 1 (160). Десятичное число содержит 15 (F16) единиц, 6 чисел 16, 12 (С16) чисел 256 (162) и 2 числа 4096 (163). Каждая цифра умножается на соответствующий ей вес, получается сумма, которая и дает десятичное число 11375.

Пример 1.9. Преобразование десятичного числа 15799 в шестнадцатеричное.

15799(10) / 16 = 987 15799 % 16 = 710 = 716 16 0

987 / 16 = 61 987 % 16 = 1110 = B16 16 1

61 / 16 = 3 61 % 16 = 1310 = D16 16 2

3 / 16 = 0 3 % 16 = 310 = 316 16 3

1579910 = 3DB716

Пример 1.10. Запишем восьмеричное число 2357 в десятичной форме.

Веса первых восьмеричных позиций равны 512 (83), 64 (82), 8 (81) и 1 (80). В предлагаемом числе содержится 7 единиц, 5 восьмерок, 4 числа 64 (82) и два числа 521 (83). Для получения результата сложим: 2*521 + 4*64 + 5*8 + 7 = 1263 (в десятичном представлении).

Пример 1.11. Преобразуем десятичное число 2145 в его восьмеричный эквивалент.

2145 / 8 = 268 2145 % 8 = 110 = 18 80

268 / 8 = 33 268 % 8 = 410 = 48 81

33 / 8 = 4 33 % 8 = 110 = 18 82

4 / 8 = 0 4 % 8 = 410 = 48 83

214510 = 41418


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: