Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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




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

Цель: познакомиться с позиционными системами счисления; научиться выполнять перевод из одной системы счисления в другую, научиться выполнять арифметические действия с числами разных систем.

Теоретические сведения

Позиционные системы счисления

Система счисления- принятый способ записи чисел и сопоставления этим запи­сям реальных значений. Все системы счисления можно разделить на два класса: позиционные и непозиционные. Для записи чисел в различных системах счисления используется некоторое количество отличных друг от друга знаков. Число таких знаков в позиционной системе счисления называется основанием системы счисления. Ниже приведена табл. 1.4, содержащая наименования некоторых позиционных систем счисления и перечень знаков (цифр), из которых образуются в них числа.

Таблица 1. Некоторые системы счисления

Осно-вание Система счисления Знаки
2 3 4 5 8 10 12 16 Двоичная Троичная Четверичная Пятеричная Восьмеричная Десятичная Двенадцатеричная Шестнадцатеричная 0, 1 0, 1, 2 0,1,2,3 0,1,2,3,4 0,1,2,3,4,5,6,7 0, 1,2,3,4,5,6,7,8,9 0,1,2, 3, 4, 5, 6, 7, 8, 9, А, В 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F

В позиционной системе счисления число может быть представлено в виде суммы произведений коэффициентов на степени основания системы счисления:

AnAn-1An-2... А1А0А-1А-2... =

= Аnn + Аn-1n-1 + ... + А11 + А00 + А-1,*В-1 + А-2-2 + ...

(знак «запятая» отделяет целую часть числа от дробной; знак «звездочка» здесь и ниже используется для обозначения операции умножения). Таким образом, значе­ние каждого знака в числе зависит от позиции, которую занимает знак в записи числа. Именно поэтому такие системы счисления называют позиционными. Приме­ры (десятичный индекс внизу указывает основание системы счисления):

23,43(10) = 2* 101 + 3* 10° + 4* 10-1 + 3* 10-2

(в данном примере знак «3» в одном случае означает число единиц, а в другом -число сотых долей единицы);

692(10) = 6*102 + 9*101 + 2.

(«Шестьсот девяносто два» с формальной точки зрения представляется в виде «шесть умножить на десять в степени два, плюс девять умножить на десять в степени один, плюс два».)

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

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

Отметим, что кроме рассмотренных выше позиционных систем счисления сущест­вуют такие, в которых значение знака не зависит от того места, которое он занимает в числе. Такие системы счисления называются непозиционными. Наиболее известным примером непозиционной системы является римская. В этой системе используется 7 знаков (I, V, X, L, С, D, М), которые соответствуют следующим величинам:

I(1)  V(5) X(10) L(50) С (100) D(500)    М(1000)

Примеры: III (три), LIX (пятьдесят девять), DLV (пятьсот пятьдесят пять).

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

Двоичная система счисления

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

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

Таким образом

25(10)=11001(2).

Для перевода дробной части (или числа, у которого «0» целых) надо умножить ее на 2. Целая часть произведения будет первой цифрой числа в двоичной системе. Затем, отбрасывая у результата целую часть, вновь умножаем на 2 и т.д. Заметим, что конечная десятичная дробь при этом вполне может стать бесконечной (периодической) двоичной. Например:

0.73*2 = 1.46 (целая часть 1)

0.46*2 = 0.92 (целая часть 0)

0.92*2 = 1.84 (целая часть 1)

0.84*2 = 1.68 (целая часть 1) и т.д.

Получаем число в 2-ой системе счисления: 1011

В итоге

0,73(10) = 0,1011...(2).

Над числами, записанными в любой системе счисления, можно производить раз­личные арифметические операции. Так, для сложения и умножения двоичных чисел необходимо использовать табл. 1.5.

Таблица 1.5 Таблицы сложения и умножения в двоичной системе

+ 0 1
0 0 1
1 1 10
* 0 1
0 0 0
1 0 1

 

Заметим, что при двоичном сложении 1 + 1 возникает перенос единицы в стар­ший разряд - точь-в-точь как в десятичной арифметике:

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

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

Перевод чисел из десятичной системы счисления в восьмеричную производится (по аналогии с двоичной системой счисления) с помощью деления и умножения на 8. Например, переведем число 58,32(10):

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

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

С практической точки зрения представляет интерес процедура взаимного преоб­разования двоичных, восьмеричных и шестнадцатеричных чисел. Для этого вос­пользуемся табл. 1. чисел от 0 до 15 (в десятичной системе счисления), представ­ленных в других системах счисления.

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

11011001 = 11 011 001, т.е. 11011001(2) = 331(8)

Заметим, что группу из трех двоичных цифр часто называют «двоичной триадой».

Перевод целого двоичного числа в шестнадцатеричное производится путем раз­биения данного числа на группы по 4 цифры - «двоичные тетрады»:

1100011011001 = 1 1000 1101 1001,т.е. 1100011011001(2)= 18D9(16).

 

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

0,1100011101(2) = 0,110 001 110 100 = 0,6164(8),

0,1100011101(2) = 0,1100 0111 0100 = 0,С74(16).

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

Таблица 1.

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


 

Преобразования чисел из двоичной в восьмеричную и шестнадцатеричную сис­темы и наоборот столь просты (по сравнению с операциями между этими тремя системами и привычной нам десятичной) потому, что числа 8 и 16 являются целыми степенями числа 2. Этой простотой и объясняется популярность восьмеричной и шестнадцатеричной систем в вычислительной технике и программировании.

Арифметические действия с числами в восьмеричной и шестнадцатеричной системах счисления выполняются по аналогии с двоичной и десятичной системами. Для этого необходимо воспользоваться соответствующими таблицами. Для примера табл. 2. иллюстрирует сложение и умножение восьмеричных чисел.

Рассмотрим еще один возможный способ перевода чисел из одной позиционной системы счисления в другую - метод вычитания степеней. В этом случае из числа последовательно вычитается максимально допустимая степень требуемого основа­ния, умноженная на максимально возможный коэффициент, меньший основания; этот коэффициент и является значащей цифрой числа в новой системе. Например, число 114(10):

 

Итак, 114(10)= 162(8).

 


Таблица 2.

Таблицы сложения и умножения в восьмеричной, шестнадцатеричной системах

Сложение                                  Умножение

 

 

 

Пример 1.Перевести данное число из десятичной системы счисления в двоичную (получить пять знаков после запятой в двоичном представлении):

а) 464(10); б) 380,1875(|0); в) 115,94(10).

Решение:

 

а) 464(10)= 111010000(2);

б) 380,1875(10) = 101111100,0011(2);

в) 115,94(10) - 1110011,11110(2) (в данном случае было получено шесть знаков после запятой, после чего результат 1 был округлен).










Последнее изменение этой страницы: 2018-04-12; просмотров: 198.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...