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



Существует множество способов записи чисел с помощью цифр. Эти способы грубо можно разделить на три части: позиционные системы счисления; смешанные системы счисления; непозиционные системы счисления. Денежные знаки - это пример смешанной системы счисления. В непозиционной системе счисления величина числа не зависит от положения цифры в представлении числа. Ярким примером непозиционной системы счисления является римская система. Представление чисел с помощью арабских цифр - самая распространённая позиционная система счисления, она называется «десятичной системой счисления». Десятичной системой она называется потому, что использует десять цифр. Вот эти цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Внимательно их пересчитайте – их ровно десять. Заметьте: максимальная цифра (9) на единичку меньше количества цифр (10). Компьютер, в отличие от человека, хорошо разбирается в двоичной системе, он использует цифры: 0 и 1. Обратите внимание, что здесь система двоичная, а максимальная цифра 1. Программисты пользуются, для упрощения себе жизни, ещё восьмеричной и шестнадцатеричной системами счисления. Количество цифр используемых в системе счисления называется «основанием». В десятичной системе основание равно десяти, в двоичной системе основание равно двум, ну а в восьмеричной и шестнадцатеричной соответственно восьми и шестнадцати. В общем случае в позиционной системе счисления числа представляются следующим образом: (anan − 1...a0)f, где a0,a1,...,an - цифры, а f - основание системы счисления. Если используется десятичная система, то f – можно опустить. Примеры чисел: 110012 - число в двоичной системе счисления, a0 = 1,a1 = 0,a2 = 0,a3 = 1,a4 = 1; 2213 - число в троичной системе счисления, a0 = 1,a1 = 2,a2 = 2; 318 - число в восьмеричной системе счисления, a0 = 1,a1 = 3; 2510 - число в десятичной системе счисления, a0 = 5,a1 = 2; Мы знаем как узнать чему равно число в любой системе счисления. Но как нам получить это число? Представим что у нас есть некоторое число A, и мы хотим получить его представление в системе по основанию f. Как нам это сделать? Мы знаем, что число A можно представить в виде (anan − 1...a0)f, будем из этого исходить. Что будет, если мы поделим это число на f. Получим и остаток от деления a0. Почему a0? Все члены суммы делятся на f без остатка, а последний член a0 в результате деления даёт 0 и a0 в остатке, т.к. максимальное значение цифры всегда на единичку меньше основания системы. Итак мы получили самую правую цифру a0 как остаток от деления и число (anan − 1...a1)f как результат деления числа A на f. Если мы так будем продолжать делить, то получим все цифры a1,a2...an. Возьмём для примера полюбившиеся нам число 25 и получим представление этого числа в двоичной системе счисления: 25 / 2 = 12, остаток 1; 12 / 2 = 6, остаток 0; 6 / 2 = 3, остаток 0; 3 / 2 = 1, остаток 1; 1 / 2 = 0, остаток 1. Что и следовало ожидать, получили: 110012. Представим число 25 в троичной системе счисления: 25 / 3 = 8, остаток 1; 8 / 3 = 2, остаток 2; 2 / 3 = 0, остаток 2. Получили число: 2213. Для закрепления наших знаний проделаем вычисления для восьмеричной и десятичной систем счисления. Восьмеричная система счисления: 25 / 8 = 3, остаток 1; 3 / 8 = 0, остаток 3. Результат: 318. Десятичная система счисления: 25 / 10 = 2, остаток 5; 2 / 10 = 0, остаток 2. Результат: 2510. Задание: расположит по убыванию (не переводя, далее проверим)558 557 5516 - 5516 558 557

Преобразование двоичных чисел в десятичные

Допустим, вам дано двоичное число 110011. Какому числу оно эквивалентно? Чтобы ответить на этот вопрос, прежде всего запишите данное число следующим образом:

512 256 128 64 32 16 8 4 2 1
        1 1 0 0 1 1
        32 +16     +2 +1

Затем, начиная с двоичной точки, двигайтесь влево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа. Таким образом, двоичное число 110011 равнозначно 51.
Либо .

Преобразование десятичных чисел в двоичные

Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой :

19 /2 = 9 с остатком 1

9 /2 = 4 c остатком 1

4 /2 = 2 с остатком 0

2 /2 = 1 с остатком 0

1 /2 = 0 с остатком 1

Итак, мы делим каждое частное на 2 и записываем в остаток 1 или 0. Продолжать деление надо пока в делимом не будет 1. Ставим числа из остатка друг за другом, начиная с конца. В результате получаем число 19 в двоичной записи (начиная с конца): 10011.

В компьютерной технике очень часто используется двоичная система счисления. Такую систему очень легко реализовать в железе (кремнии, транзисторах, микросхемах), так как для нее требуется всего два устойчивых состояния (0 и 1).

Двоичная система счисления является позиционной системой. В ней используется две цифры: 0 и 1

Если часто придётся работать со степенями двойки. Хорошо бы было их вам поскорее выучить. Вот таблица:

Степень Значение
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024
11 2048
12 4096
13 8192
14 16384
15 32768
16 65536

 

 

Минимальной единицей информации считается бит.Бит — это величина, принимающая значение 0 или 1. Любая другая информация может быть закодирована последовательностью из нулей и единиц. Именно в таком виде вся информация представляется в памяти ЭВМ.

Единицей памяти в современных ЭВМ считается байт.Байты — это 8-разрядные двоичные числа вида — 00000000, 00000001, ..., 11111111. Один байт записывается в виде 8 двоичных знаков информации — нулей и единиц:

1 байт = 8 бит.

 

Для измерения памяти большого объема используются следующие единицы:

1 Кбайт = 1024 байт (1 килобайт);

1 Мбайт = 1024 Кбайт (1 мегабайт);

1 Гбайт = 1024 Мбайт (1 гигабайт).

 

Задание: Расположить в порядке возрастания 10 бит, 20 бит, 2 байта, 1010 байт , 1 Кбайт - 10 бит, 2 байта, 20 бит, 1010 байт, 1 Кбайт.

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

Компьютерам очень удобно оперировать двоичными числами, но люди не привыкли работать с большим количеством цифр. Например, чтобы представить в двоичном виде число 1234 потребуется больше 10 двоичных цифр (10011010010). Поэтому были придуманы восьмеричная и шестнадцатеричная системы счислений. Они удобны как и десятичные числа тем, что для представления числа требуется меньшее количество разрядов. А по сравнению с десятичными числами, перевод в двоичное представление очень простой. Это как будто мы двоичное число разбили на группы по три или четыре разряда и каждой двоичной комбинации придумали значок. Вот таблица для восьмеричных цифр:

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

 

Десятичная Шестнадцатиричная Восьмеричная Двоичная
0 0 0 0
1 1 1 1
2 2 2 10
3 3 3 11
4 4 4 100
5 5 5 101
6 6 6 110
7 7 7 111
8 8 10 1000
9 9 11 1001
10 А 12 1010
11 В 13 1011
12 С 14 1100
13 D 15 1101
14 E 16 1110
15 F 17 1111

 

Перевод произвести очень просто, посмотрим на примере числа 10011010010.

Разбиваем его на группы по три цифры: 010 011 010 010. И по таблице переводим: 23228.

Чтобы перевести число в шестнадцатеричное представление разбиваем двоичное число на группы по четыре цифры: 0100 1101 0010. И по таблице переводим: 4D216. С помощью калькулятора Windows мы можем убедиться, что всё проделано верно.

В программистских кругах шестнадцатеричные числа принято предварять значком 0x (например, 0x4D2), такое написание пошло от языка программирования C, либо значком $ (например, $4D2), такая нотация произошла от языка программирования Pascal. Иногда в литературе используют буквы "h" и "b" для обозначения соответственно шестнадцатеричных и двоичных чисел (например, FFh или 1011b).

Задание: Запишите 5678 в двоичной системе счисления (101110111)

Пример 1. Выполнить перевод числа 19 в двоичную систему счисления:

 

Таким образом, 19 = 100112.

 

Пример 2. Выполнить перевод числа 19 в шестнадцатеричную систему счисления:

Таким образом, 19 = 1316.

 

Пример 3. Выполнить перевод числа 123 в шестнадцатеричную систему счисления:

Здесь остаток 11 преобразован в шестнадцатеричную цифру В (см. таблицу) и после этого данная цифра вошла в число. Таким образом, 123 = 7В16.

Пример 4. Выполнить перевод числа 1316 в десятичную систему счисления. Имеем:

1316 = 1*161 + 3*160 = 16 + 3 = 19.

Таким образом, 1316 = 19.

 

Пример 5. Выполнить перевод числа 100112 в десятичную систему счисления. Имеем:

100112 = 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 16+0+0+2+1 = 19.

Таким образом, 100112 = 19.

 

Задание: расположит по убыванию (проверяем)558 557 5516 - 5516 558 557

 

 

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

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

б) незначащие нули в результирующем числе отбрасываются.

 

Пример 7. Выполнить перевод числа 1316 в двоичную систему счисления.

По таблице имеем:

· 116 = 12 и после дополнения незначащими нулями двоичного числа 12 = 00012;

· 316 = 112 и после дополнения незначащими нулями двоичного числа 112 = 00112.

Тогда 1316 = 000100112. После удаления незначащих нулей имеем 1316 = 100112.

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

а) исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);

б) в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается – она является старшей цифрой получаемой дроби;

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

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

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

 

Пример 1. Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.

Имеем:

Таким образом, 0,847 = 0,11012.

 

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

 

Пример 2. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.

Имеем:

В данном примере также процедура перевода прервана.

Таким образом, 0,847 = 0,D8D16.

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

В этом случае рассчитывается полное значение числа по формуле, причем коэффициенты ai принимают десятичное значение в соответствии с таблицей.

 

Пример 3. Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012.

Имеем:

0,11012 = 1*2-1 + 1*2-2 + 0*2-3 +1*2-4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.

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

Таким образом, 0,11012 = 0,8125.

 

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

Имеем:

0,D8D16 = 13*16-1 + 8*16-2 + 13*16-3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692.

Расхождение полученного результата с исходным числом (см. пример 2) вызвано тем, что процедура перевода в шестнадцатеричную дробь была прервана.

Таким образом, 0,D8D16 = 0,84692.

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

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

б) каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей.

 

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

Имеем:

В соответствии с таблицей 11012 = D16. Тогда 0,11012 = 0,D16.

 

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

Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль:

 

В соответствии с таблицей 00102 = 102 = 216 и 10102 = A16.

Тогда 0,00101012 = 0,2A16.

 

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

а) каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с таблицей;

б) незначащие нули отбрасываются.

 

Пример 7. Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А16.

По таблице имеем 216 = 00102 и А16 = 10102.

Тогда 0,2А16 = 0,001010102.

Отбросим в результате незначащий ноль и получим окончательный ответ: 0,2А16 = 0,00101012

Правило перевода дробных чисел (неправильных дробей)

 

Напомним, что неправильная дробь имеет ненулевую дробную часть, т.е. у нее числитель больше знаменателя.

Результат перевода неправильной дроби всегда неправильная дробь.

При переводе отдельно переводится целая часть числа, отдельно – дробная. Результаты складываются.

 

Пример 1. Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.

Представим исходное число как сумму целого числа и правильной дроби:

19,847 = 19 + 0,847.

Как следует из примера 2 раздела Перевод целых чисел 19 = 1316, а в соответствии с примером 2 раздела Перевод правильных дробей 0,847 = 0,D8D16.

Тогда имеем:

19 + 0,847 = 1316 + 0,D8D16 = 13,D8D16.

Таким образом, 19,847 = 13,D8D16.


Дата добавления: 2018-04-04; просмотров: 490; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!