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

Admin 20.04.2015

Доброго дня уважаемые друзья!
Приветствую Вас на сайте «Мир микроконтроллеров»


Двоичная и шестнадцатиричная системы счисления, арифметические операции в двоичной системе

Системы счисления
Десятичная система счисления
Двоичная система счисления
Шестнадцатиричная система счисления
Перевод чисел из одной системы счисления в другую
Арифметические операции в двоичной системе счисления

Двоичная, шестнадцатиричная система счисления


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

Давайте посмотрим определение:

Система счисления – символический метод записи чисел, представление чисел с помощью письменных знаков. То есть, к примеру, думаем «Один», а записываем — 1.

Как вы наверняка знаете, существует много разных систем счисления, одними пользуются и сейчас (наша, родная, десятичная система; римская система, известная нам как «римские цифры»), другие остались в глубоком прошлом (системы счисления инков и майя, древнеегипитская система, вавилонская).
К примеру, еще не так давно, на Руси в ходу была пятиричная система счисления, так называемый «счет на пятки» (с ударением на «и»). При этом, число 10 произносилось как «два-пять».
Тут, я думаю, вопросов у нас нет, что такое системы счисления нам понятно — отображение чисел символами. А вот какая связь систем счисления с микроконтроллерами.
Дело в том, что при изучении устройства микроконтроллеров, создании программ, хотим мы того, или нет, нам с вами придется столкнуться с несколькими системами счисления.
Общаясь с микроконтроллером (а как вы уже знаете из предыдущей статьи, это общение происходит на уровне определенных команд, которые представляют из себя наборы единиц и нулей), мы используем одну систему счисления; оперируя различными данными — придется пользоваться другими системами счисления.
Если коротко, то при создании конструкций на микроконтроллерах используются три системы счисления: десятичная, двоичная и шестнадцатеричная. Вот о них мы сегодня поговорим более подробно.


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

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


Шестнадцатиричная система счисления

Давайте посмотрим определение шестнадцатиричной системы счисления, а потом расшифруем его:

Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16

Шестнадцатиричная система счисления

Что это значит. Если в десятичной системе для записи любого числа используется десять символов (основание 10) — цифры от нуля до девяти, то в шестнадцатиричной системе используется шестнадцать символов (основание 16), в качестве которых обычно используются десятичные цифры от нуля до девяти (всего десять) и латинские буквы от A до F (всего шесть — A, B, C, D, E и F).
К примеру, число девять и в десятичной и шестнадцатиричной системах, будет записываться одинаково — 9. А вот число десять (в десятичной — 10), в шестнадцатиричной системе будет выглядеть так — «А».

Шестнадцатиричная система счисления используется потому, что в микроконтроллерах (как и всей компьютерной технике) минимальной единицей памяти является 8-битный байт, значения которого очень удобно записывать именно в шестнадцатиричной системе. Такое использование началось на заре развития компьютерной техники с систем фирмы IBM, где вся документация использовала шестнадцатеричную систему.
Для того, чтобы случайно не спутать числа в десятичной системе с числами в шестандцатиричной, для последней используется определенный синтаксис:
— используется префикс (запись перед числом):   «0х» или знак «зеленного» — «$», или такой знак — «#», или
— в конце числа ставят букву «h»
К примеру, десятичное число 10 в шестнадцатиричной системе может выглядеть так:
— A
— OxA
— $A
— Ah
— #A
Встречается и другой синтаксис.

Давайте посмотрим соответствие шестандцатиричных чисел десятичным:
1 – 1
5 – 5
10 – А
200 – С8

Ну а выражение «позиционная система счисления», или «позиционная нумерация», означает, что значение цифры в записи числа зависит от его позиции (единица в самом конце числа — просто единица, а если она вторая справа, то уже — десяток).


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

Как всегда, определение:

Двоичная система счисления — позиционная система счисления с основанием 2. Благодаря непосредственной реализации в цифровых электронных схемах на логических вентилях, двоичная система используется практически во всех современных компьютерах и прочих устройствах на их основе.

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

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

Принято считать, что:
цифре 1 соответствует высокий уровень напряжения
цифре 0 соответствует низкий уровень напряжения

К примеру, если на «ножку» микроконтроллера (при напряжении его питания равном 5 вольтам) подать 5 вольт, то он поймет, что это «1», а если ничего не подать, а замкнуть «ножку» на «землю», то он поймет, что это «0». Тоже и в обратном порядке. Если микроконтроллер должен передать «1» то он выставляет на своей «ножке» высокое напряжение – 5 вольт, а если «0» – то низкое напряжение – 0 вольт. То есть, распознание цифр 0 и 1 в цифровой технике происходит двумя уровнями сигнала.
Напряжения высокого и низкого уровня лежат в некоторых пределах, не имеют точной величины.
Можно считать, что высокому уровню, соответствует напряжение лежащее в пределах от 2,5 до 5 вольт, а низкому уровню, соответствует напряжение не превышающее 0,5 вольт.

В цифровой технике высокий уровень напряжения, соответствующий «1», называют — логическая единица, а низкий уровень напряжения, соответствующий «0», называют логическим нулем.

Давайте посмотрим, как числа десятичной системы соответствуют числам в двоичной системе:
1 – 1
2 – 10
3 – 11
5 – 101
10 – 11010
200 – 11001000

Как и в шестнадцатиричной системе, в двоичной системе, для того, чтобы не путать ее с десятичной, существует свой синтаксис:
— в конце числа дописывают символ «В», например — 1000В
— также используются символы и впереди числа — «0b» или «#b», например — 0b1000, или  #b1000.


Арифметические операции в двоичной системе счисления

С числами в двоичной системе счисления можно выполнять такие-же арифметические операции, как и в десятичной системе:
сложение
вычитание
умножение
деление

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

Сложение двоичных чисел:
0+0 = 0
0+1 = 1
1+0 = 1
1+1 = 10 (при этом единица переносится в старший разряд)

Правила сложения двоичных чисел

Вычитание двоичных чисел:
0 – 0 = 0
1 – 0 = 1
1 – 1 = 0
10 – 1 = 1 (занимается 1 из старшего разряда, которая равна двум 1 младшего разряда)

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

Умножение двоичных чисел:
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1

Правила умножения двоичных чисел

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

Деление двоичных чисел


Перевод чисел из одной системы счисления в другую

Я не буду вам рассказывать как можно с помощью ручки и бумаги перевести любое число из одной системы счисления в другую. Об этом вы можете (при желании) почитать в популярной литературе по микроконтроллерам.
Самый простой способ перевода чисел из одной системы счисления в другую — калькулятор, который имеет так называемый «инженерный режим». Если у вас нет такого калькулятора, то всегда можно воспользоваться стандартным калькулятором «Windows», переведя его в «инженерный режим»:

Перевод чисел из одной системы счисления в другую


Предыдущие статьи:
1. Микроконтроллеры — первый шаг
Следующие статьи:
1. Логические операции, логические выражения, логические элементы
2. Битовые операции
3. Прямой, обратный и дополнительный коды двоичного числа


(13 голосов, оценка: 4,62 из 5)
Загрузка...
Системы счисления: двоичная, шестнадцатиричная и их применение в микроконтроллерах, арифметические операции в двоичной системе
Published by: Мир микроконтроллеров
Date Published: 04/20/2015

Комментарии

Двоичная и шестнадцатиричная системы счисления — 6 комментариев

  1. Доброго здравия! подскажите пожалуйста! Пытался всем мозгом из расчёта информации понять эти системы..но понимаю,что нужно конкретную литературу изучить именно на тему этих счислений,какую лучше литературу? это Математика или именно литература для программирования? И ещё вопрос,подскажите нет ли в Москве или московской области человека или кружка типа какого то) где именно обучают с душой Электронике и программированию в частности… я как и многие самоучка но мне часто не хватает именно человеческого разъяснения на пальцах именно задать вопросы,пробовал ходил на курсы но это какой то просто развод на деньги,оно бы и не жалко.. да было бы кому( Благодарю за внимание! С Уважением!!

  2. Здравствуйте! Ещё одно исправление: на картинке «Двоичная система счисления» 50=10010 ! На самом деле 50=110010.

    • Большое спасибо!
      Вроде и не раз перечитываешь статью, но свои ошибки, как и положенно по закону подлости, не видим.

  3. здравствуйте,а почему в примере( шестнадцатеричная система исчисления) 100=1f4, а на самом деле 100=64?

    • Здравствуйте Евгений!
      Вы правы, 100 это 64 в шестнадцатиричной системе.
      На картинке ошибка.
      С уважением, Admin.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *