Скачать презентацию Ч 1 Лекция 1 Системы счисления Лектор Люличева Скачать презентацию Ч 1 Лекция 1 Системы счисления Лектор Люличева

ОТМП_1у-2011.ppt

  • Количество слайдов: 39

Ч 1. Лекция 1 Системы счисления Лектор: Люличева И. А. 1 Ч 1. Лекция 1 Системы счисления Лектор: Люличева И. А. 1

Рассматриваются вопросы История появления систем. Основные понятия n Что такое двоичная система и бинарные Рассматриваются вопросы История появления систем. Основные понятия n Что такое двоичная система и бинарные коды? n Цифровое представление двоичной системы. Дополнительный код. n Что такое шестнадцатеричная система? n Применение в 16 -ричной системы в цифровой технике. n Способы записи. n Перевод чисел из одной системы счисления в другую. n 2

Краткая история систем n Чтобы производить действия над числами, сами числа надо как-то обозначать. Краткая история систем n Чтобы производить действия над числами, сами числа надо как-то обозначать. Когда люди осознали, что чисел много, они стали изобретать способы записи чисел. Способ записи чисел называют нумерацией или, по-другому, системой счисления. Вы наверняка слышали, например, о римской нумерации. Она и сейчас часто используется для обозначения исторических дат (мы пишем, к примеру, XX век) или важных событий (скажем, XXV Олимпийские игры). 3

Краткая история систем исчисления n Мы пользуемся позиционной системой счисления. Рассмотрим три числа: 298, Краткая история систем исчисления n Мы пользуемся позиционной системой счисления. Рассмотрим три числа: 298, 829 и 982, в их записи участвуют одни и те же цифры. Различаются же записи расположением цифр, иными словами, тем, какую позицию занимает та или иная цифра. Отсюда и пошло название такой нумерации - позиционная. 4

2 и 16 -ричная системы счисления n Более распространенной для представления чисел в памяти 2 и 16 -ричная системы счисления n Более распространенной для представления чисел в памяти компьютера является двоичная система исчисления. Для изображения чисел в этой системе необходимо две цифры: 0 и 1, то есть достаточно двух стойких состояний физических элементов. Эта система близка к оптимальной по экономичности. Поскольку 23=8, а 24=16 , то каждых три двоичных разряда числа образовывают один восьмиричный, а каждых четыре двоичных разряда - один шестнадцатиричный. Поэтому для сокращения записи адресов и содержимого оперативной памяти компьютера используют шестнадцатиричную и восьмиричную системы исчисления. 5

Цифровое представление двоичной системы n Двоичная система — это универсальный способ представления данных, поскольку Цифровое представление двоичной системы n Двоичная система — это универсальный способ представления данных, поскольку простейшим устройством, которое можно реализовать на одном транзисторе, является электронный ключ. Такие ключи, имеющие только два состояния, очень малы; они способны очень быстро изменять свое состояние и потребляют незначительный ток. Более того, поскольку требуется различать только два состояния, очевидно, что двоичное представление менее подвержено воздействию помех. 6

Что такое бинарные коды? n n n Термин «бинарный» по смыслу - состоящий из Что такое бинарные коды? n n n Термин «бинарный» по смыслу - состоящий из двух частей, компонентов. Таким образом бинарные коды это коды которые состоят только из двух символьных состояний например черный или белый, светлый или темный, проводник или изолятор. Бинарный код в цифровой технике это способ представления данных (чисел, слов и других) в виде комбинации двух знаков, которые можно обозначить как 0 и 1. Знаки или единицы БК называют битами. 7

Что такое бинарные коды? БК удобно использовать для накопления информации в каком-либо носителе в Что такое бинарные коды? БК удобно использовать для накопления информации в каком-либо носителе в виде комбинации всего двух его физических состояний. Наибольшее число, которое может быть выражено двоичным кодом, зависит от количества используемых разрядов, т. е. от количества битов в комбинации, выражающей число. Например, для выражения числовых значений от 0 до 7 достаточно иметь 3 разрядный или 3 -битовый код: 8

Что такое бинарные коды? n . 9 Что такое бинарные коды? n . 9

Двоичное сложение n n n Сложение в 2 -ной системе счисления ПРОЩЕ чем в Двоичное сложение n n n Сложение в 2 -ной системе счисления ПРОЩЕ чем в 10 -ной! Оно содержит всего 4 правила: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 (or 10 B)

Двоичное сложение (пример без переноса): 1001101 B Все суммы во всех колонках + 0010010 Двоичное сложение (пример без переноса): 1001101 B Все суммы во всех колонках + 0010010 B меньше 10! _______ 1011111 B n

Binary addition 11 1 <--- Биты переноса -> 11 1001001 1000111 + 0011001 + Binary addition 11 1 <--- Биты переноса -> 11 1001001 1000111 + 0011001 + 0010110 _______ ____ 1100010 1011101 Процесс привычный но утомительный. Особенно при сложении 32 -64 bits numbers!

Что такое бинарные коды? n n n Переходя от чисел к физическим величинам, сформулируем Что такое бинарные коды? n n n Переходя от чисел к физическим величинам, сформулируем вышеприведенное утверждение в более общем виде: наибольшее количество значений m какой-либо величины (температуры, напряжения, тока и др. ), которое может быть выражено двоичным кодом, зависит от числа используемых разрядов n как m=2 n. Если n=3, как в рассмотренном примере, то получим 8 значений, включая ведущий 0. 13

Что такое бинарные коды? Двоичный код является многошаговым кодом. Это означает, что при переходе Что такое бинарные коды? Двоичный код является многошаговым кодом. Это означает, что при переходе с одного положения (значения) в другое могут изменятся несколько бит одновременно. Например число 3 в двоичном коде = 011. Число же 4 в двоичном коде = 100. Соответственно при переходе от 3 к 4 меняют свое состояние на противоположное все 3 бита одновременно. 14

Что такое бинарные коды? n n Это при считывании информации может привести к тому, Что такое бинарные коды? n n Это при считывании информации может привести к тому, что при переходе от одного числа к другому кратковременно будет выдана неверная информация. Так при переходе от числа 3 к числу 4 очень вероятна кратковременная выдача числа 7 когда, например, старший бит во время перехода поменял свое значение немного раньше чем остальные. Чтобы избежать этого, применяется так называемый одношаговый код, Грей-код. 15

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

Код Грея n Преимуществом Грей-кода является также его способность зеркального отображения информации. Так инвертируя Код Грея n Преимуществом Грей-кода является также его способность зеркального отображения информации. Так инвертируя старший бит можно простым образом менять направление счета и таким образом подбирать к фактическому (физическому) направлению вращения оси. Изменение направления счета таким образом может легко изменяться управляя так называемым входом " Complement ". Выдаваемое значение может таким образом быть возврастающим или спадающим при одном и том же физическом направлении вращения оси. 17

Код Грея n Поскольку информация выраженая в Грей-коде имеет чисто кодированный характер не несущей Код Грея n Поскольку информация выраженая в Грей-коде имеет чисто кодированный характер не несущей реальной числовой информации он перед дальнейшей обработкой должен сперва быть преобразован в стандартный бинарный код. Осуществляется это при помощи преобразователя кода (декодера Грей-Бинар) который легко реализируется с помощью цепи из логических элементов «исключающее или» ( XOR ) как програмным так и аппаратным способом. 18

Цифровое представление двоичной системы n Два состояния бита обычно называются логическим нулем (лог. 0) Цифровое представление двоичной системы n Два состояния бита обычно называются логическим нулем (лог. 0) алогической единицей (лог. 1) или просто 0 и 1. Один бит может быть представлен двумя состояниями любой физической величины, например напряжения или силы электрического тока, освещенности, давления воздуха. В большинстве микроконтроллеров состоянию лог. 0 соответствует напряжение 0 В (или «земля» ), а состоянию лог. 1 — напряжение +3… 5 В, хотя это правило и не универсально. Например, в последовательном порту RS-232 вашего ПК для индикации состояния лог. 0 используется напряжение +12 В, а для индикации состояния лог. 1 — напряжение -12 В. 19

Цифровое представление двоичной системы n n Микропроцессоры и микроконтроллеры очень тесно связаны друг с Цифровое представление двоичной системы n n Микропроцессоры и микроконтроллеры очень тесно связаны друг с другом, поэтому мы попеременно будем использовать оба термина. Итак, один бит может представлять только два состояния. Более сложные элементы можно выразить с помощью комбинаций битов. Например, обычные алфавитноцифровые символы можно представить с помощью двоичных разрядов. Таким образом, ASCII-представление строки “Microcontroller” будет иметь вид: 1001101001 1100011 1110010 1101111 1100011 1101110100 1110010 1101111 1101100101 1110010. 20

Преобразовние из 10 -ной системы в 2 -ную Преобразовние из 10 -ной системы в 2 -ную

Пример 1 Пример 1

Вычитание и коды отрицательных чисел в 2 -ной системе n n При работе с Вычитание и коды отрицательных чисел в 2 -ной системе n n При работе с десятичными числами для обозначения положительных и отрицательных чисел используются знаки «+» и «—» соответственно. В системе же с двумя состояниями мы можем оперировать только единицами и нулями. Отрицательное значение получается в результате заема в старший разряд числа. Так что мы можем использовать этот разряд в качестве знакового бита (sign bit), причем 0 будет эквивалентен знаку «+» , а 1 — знаку «—» .

Дополнительный двоичный код – что это? n n Преимущество такого представления заключается в том, Дополнительный двоичный код – что это? n n Преимущество такого представления заключается в том, что при любых арифметических операциях с ним можно обращаться так же, как и с обычным битом. Другими словами, А - В = А + (-В). Более того, если числа будут записаны в дополнительном коде, результаты всех последующих арифметических операций также будут в дополнительном коде. 24

Дополнительный двоичный код n n Причем, простота инвертирования (0 -> 1, 1 ->0) делает Дополнительный двоичный код n n Причем, простота инвертирования (0 -> 1, 1 ->0) делает этот метод очень привлекательным. 1000101 -> 0111010; + 1 = -0111011. И опять же отрицательные числа следует оставлять в дополнительном коде. Обратите внимание, что операция преобразования в дополнительный код является обратимой, т. е. дополнительный код <^> прямой код. 25

Прямой и дополнительный код n n n n 001 111 010 110 011 101 Прямой и дополнительный код n n n n 001 111 010 110 011 101 100 100 101 011 110 010 111 001

Шестнадцатеричная система n n Шестнадцатеричная система счисления (hexadecimal), — позиционная система счисления по целочисленному Шестнадцатеричная система n n Шестнадцатеричная система счисления (hexadecimal), — позиционная система счисления по целочисленному основанию 16. В качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15.

Шестнадцатеричная система n n n Перед шестнадцатиричными числами, начинающимися с буквы, принято ставить нуль. Шестнадцатеричная система n n n Перед шестнадцатиричными числами, начинающимися с буквы, принято ставить нуль. 110=1 h, 210=2 h, 310=3 h, 410=4 h, 510=5 h, 610=6 h, 710=7 h, 810=8 h, 910=9 h, 1010=0 Ah, 1110=0 Bh, 1210=0 Ch, 1310=0 Dh, 1410=0 Eh, 1510=0 Fh. Каждый h-символ может быть представлен единственным сочетанием четырех бит (тетрадой). Таким образом, 1001 1110 В = 9 Eh.

Применение в цифровой технике n n Широко используется в низкоуровневом программировании и вообще в Применение в цифровой технике n n Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8 -битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени использовали восьмеричную систему. В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями). 29

Способы записи n n n n В математике систему счисления принято писать в подстрочном Способы записи n n n n В математике систему счисления принято писать в подстрочном знаке. Например, десятичное число 1443 можно записать как 144310 или как 5 A 316. В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис: В Ада и VHDL такие числа указывают так: "16#5 A 3#". В Си и языках схожего синтаксиса, например, в Java, используют префикс "0 x". Например, "0 x 5 A 3". В различных ассемблерах часто используют букву "h", которую ставят после числа. Например, "5 A 3 h". При этом, если число начинается не с десятичной цифры, впереди ставится "0" (ноль): "0 FFh" (25510) 30

Способы записи n n n Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые Способы записи n n n Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые версии Бэйсика используют префикс "$". Например, "$5 A 3". Другие версии Бэйсика используют для указания шестнадцатеричных цифр сочетание "&h". Например, "&h 5 A 3". В Unix-подобных операционных системах (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как x. CC, где CC - 31 шестнадцатеричный код символа.

Перевод чисел из шестнадцатеричной системы в десятичную Для перевода шестнадцатеричного числа в десятичное необходимо Перевод чисел из шестнадцатеричной системы в десятичную Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления (160 161 162) на соответствующие цифры (0 -15) в разрядах шестнадцатеричного числа. Так, цифра F, записанная в самом младшем разряде означает 15 в десятичной системе, F в следующем разряде означает 15*16 в первой степени в десятичной системе и т. д. 32

Перевод чисел из шестнадцатеричной системы в десятичную n n Например, требуется перевести шестнадцатеричное число Перевод чисел из шестнадцатеричной системы в десятичную n n Например, требуется перевести шестнадцатеричное число 5 A 3 в десятичное. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16: 5 A 316=5· 162+10· 161+3· 160 =5· 256+10· 16+3· 1=1280+160+3= = 144310 33

Перевод чисел из шестнадцатеричной системы в десятичную n n Число 21016=10*162+15*161+0*160=10*256+24 0+0*1=2560+240+0=280010 BAD 16= Перевод чисел из шестнадцатеричной системы в десятичную n n Число 21016=10*162+15*161+0*160=10*256+24 0+0*1=2560+240+0=280010 BAD 16= 11*162+10*161+13*160= =11*256+10*16+13*1 =2816+160+13=298910 34

Перевод чисел из двоичной системы в шестнадцатеричную n n Необходимо разбить число, записанное в Перевод чисел из двоичной системы в шестнадцатеричную n n Необходимо разбить число, записанное в двоичной системе на группы по 4 разряда (тетрады) справа налево, заменив каждую группу одной шестнадцатиричной цифрой 1101 1010 1101 в двоичной 11 10 13 в десятичной В А D в шестнадцатеричной 35

 Перевод чисел из двоичной системы в шестнадцатеричную n n n Еще пример (перевод Перевод чисел из двоичной системы в шестнадцатеричную n n n Еще пример (перевод без использования 10 ной системы): 101101000112=0101 1010 0011=5 A 316 При переводе каждой тетрады нужно просто пользоваться приведенной ниже таблицей двоично-16 -ричного соответствия. 36

Короткая таблица систем исчисления 10 2 8 16 0 0000 0 0 1 0001 Короткая таблица систем исчисления 10 2 8 16 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 37

Длинная таблица систем счисления Длинная таблица систем счисления

Вопросы для самоконтроля n n n Какие системы счисления вам известны? Что такое двоичная Вопросы для самоконтроля n n n Какие системы счисления вам известны? Что такое двоичная система? Какие преимущества и недостатки двоичной системы? Что такое код Грея? Что такое дополнительный двоичный код? Что такое шестнадцатеричная система? Где применяется 16 -ричная система счисления? Какие преимущества 16 -ричной системы? Способ записи в програмировании? Перевести число 1000 Н в 10 -ную систему. Перевести 100111111100 В в 16 -ричную систему. 39