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

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 – 1010
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. Прямой, обратный и дополнительный коды двоичного числа


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

Комментарии

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

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

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

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

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