12995

Представлення чисел в цифрових системах

Лекция

Информатика, кибернетика и программирование

Лекція №2. Представлення чисел в цифрових системах . План 1. Позиційна система числення. 2. Восьмирічні та шістнадцятирічні числа. 3. Переведення чисел з однієї системи числення в іншу. Цифровые системы строятся на основе схем в которых происх...

Украинкский

2013-05-07

217.5 KB

5 чел.

Лекція №2. Представлення чисел в цифрових системах .

План

      1. Позиційна система  числення.

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

      3. Переведення чисел з однієї системи числення в іншу.

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

Двоичные числа

Всякое число N в позиционной системе счисления с основанием q можно представить в виде полинома

N = anqn+an-1qn-1+an-2qn-2+…+a1q1+a0q0

Коэффициенты an1 an-1 a, стоящие перед степенями, изображают цифры системы счисления. Количество цифр при основании q равно q, т. е в двоичной системе счисления каждый из коэффициентов может принимать значения 0 или 1 Если q = 10, то коэффициенты могут принимать десять начений 0,1,2, … ,9 (десятичная система).

1. Позиційна система числення.

 Традиционная система чисел, которой нас научили в школе и которой мы ежедневно пользуемся, является позиционной системой счисления (positional number system). В такой системе число представляется строкой цифр, в которой каждому разряду приписан определенный вес (weight). Значение числа равно взвешенной сумме его разрядов, например:

1734 = 1*103+7*102+3*101+4*100

Каждый вес - это степень числа 10, соответствующая положению цифры в строке. Десятичная точка позволяет использовать как положительные, так и отрицательные степени числа 10.

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

37    1

18   0

9   1

4   0

2   0

1   1

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

37104 а3 а2 а1 а0.

Для перевода (n + 1)-разрядного двоичного числа в десятичное можно воспользоваться развёрнутой записью числа двоичной системы:

N = anqn+an-1qn-1+an-2qn-2+…+a1q1+a0q0

Переведём в десятичную систему двоичное число 100101. Согласно его записи имеем:

n=5;       a0=a2=a5=1;        a1=a3=a4=0

Тогда получим:

1001012.=1*25+0*24+0*23+1*22+0*21+1*20=32+4+1=3710.

Над двоичными числами можно выполнять те же операции, что и над десятичными. Главной из них является операция сложения.

Сложение двоичных чисел осуществляется поразрядно, с запоминанием единиц переноса, точно так же, как и в десятичной системе. Поясним это на примере. Пусть a = 101011, b = 101110, найдём их сумму a + b.

Запишем числа a и b одно под другим, совместив

младшие разряды:

              1     0     1     0     1     1  - число а

     +  

        ___1     0      1    1     1     0  - число b

     1       0     1      1    0     0     1  - число а+b

             (1)  (0)   (1)  (1)  (1)  (0) - переносы

Как и в десятичной системе, суммирование начинаем

с младшего разряда:

а) 1 + 0 = 1, переноса нет, под цифрой 1 (младший разряд числа a + b) записываем в скобках нуль;

б) во втором разряде суммируются единицы: 1 + 1 = 10, т. е. сумма равна нулю и есть единица переноса. Записываем её под результирующим нулём второго

разряда суммы;

в) в третьем разряде 0 + 1 = 1, но ещё надо прибавить единицу переноса из второго разряда, тогда 0 + 1 + 1 = 10. Снова сумма равна нулю и есть единица

переноса;

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

1 + 1 + 1 = 11. В результате сумма равна 1 и есть единица переноса;

д) в пятом разряде 0 + 0 + 1 = 1, т. е. сумма равна единице, переноса нет;

е) в шестом разряде 1 + 1 = 10. Сумма равна нулю, а единица переноса образует седьмой разряд суммы a + b. Это эквивалентно записи 0+0+1=1, если числа a и b

записать в виде a = 0101011, b = 0101110, т. е. удлинить

их путём приписывания слева нулей.

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

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.

3. Переведення чисел з однієї системи числення в іншу.

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

13578 = 001 011 101 1112      

2046.178 =010 000 100 110.001 1112

BEAD16 =1011 1110 101011012

9F.46C2 =1001 1111.0100 0110 11002,.

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

PAGE 1


 

А также другие работы, которые могут Вас заинтересовать

58359. Надёжная защита организма 60.5 KB
  Как вы думаете почему сплошной слой краски так повлиял на мальчика понизилась температура тела кожа не могла дышать поры были закрыты краской Какой орган мы будем изучать сегодня Орган осязания кожу. Какая кожа На доске карточки.
58360. Строение тела человека 60.5 KB
  Цель урока: Дать первоначальные сведения о работе внутренних органов человека. Задачи урока: обучающие: ввести понятие «внешнее» и «внутреннее» строение тела человека; познакомить с частями и внутренними органами человека...
58361. Урок Памяти, посвященный празднованию 65-летней годовщине Великой Победы 52.5 KB
  О Великой Отечественной войне; нарисовать рисунок на военную тематику; поинтересоваться у родителей бабушек дедушек об участии родственников в войне а по возможности найти и принести на урок фотографии того времени. Выставку подборку книг о войне так же можно составить с помощью детей.
58363. Урок письма 79.5 KB
  С этим трудно спорить но скажите вы любите получать письма от родных и близких Вам нравится их читать А чего не хватает коротким электронным сообщениям или мобильным звонкам Им не хватает теплоты душевности ведь когда читаешь письмо словно разговариваешь с близким тебе человеком.