Содержание
- 1 Системы счисления
- 2 Десятичная система счисления
- 3 Шестнадцатиричная система счисления
- 4 Двоичная система счисления
- 5 Арифметические операции в двоичной системе счисления
- 6 Перевод чисел из одной системы счисления в другую
- 7 Способы записи
- 8 Перевод чисел из одной системы счисления в другую
- 9 См. также
- 10 Ссылки
Шестнадцатеричная система счисления, так же как и восьмеричная, широко используется в компьютерной науке из-за легкости перевода в нее двоичных чисел. При шестнадцатеричной записи числа получаются более компактными.
В шестнадцатеричной системе счисления используются цифры от 0 до 9 и шесть первых латинских букв – A (10), B (11), C (12), D (13), E (14), F (15).
При переводе двоичного числа в шестнадцатеричное, первое разбивается на группы по четыре разряда, начиная с конца. В случае, если количество разрядов не делится нацело, то первая четверка дописывается нулями впереди. Каждой четверке соответствует цифра шестнадцатеричной системе счисления:
Например:
10001100101 = 0100 1100 0101 = 4 C 5 = 4C5
Если потребуется, то число 4C5 можно перевести в десятичную систему счисления следующим образом (C следует заменить на соответствующее данному символу число в десятичной системе счисления – это 12):
4C5 = 4 * 16 2 + 12 * 16 1 + 5 * 16 0 = 4 * 256 + 192 + 5 = 1221
Максимальное двухразрядное число, которое можно получить с помощью шестнадцатеричной записи – это FF.
FF = 15 * 16 1 + 15 * 16 0 = 240 + 15 = 255
255 – это максимальное значение одного байта, равного 8 битам: 1111 1111 = FF. Поэтому с помощью шестнадцатеричной системы счисления очень удобно кратко (с помощью двух цифр-знаков) записывать значения байтов. Внимание! Состояний у 8-ми битного байта может быть 256, однако максимальное значение – 255. Не забывайте про 0 – это как раз 256-е состояние.
Популярное
- Устройство и программирование микроконтроллеров AVR для начинающих – 143
- Трехканальный термостат, терморегулятор, таймер на ATmega8 – 70
- Двухканальный термостат, терморегулятор на ATmega8 – 67
Системы счисления
Десятичная система счисления
Двоичная система счисления
Шестнадцатиричная система счисления
Перевод чисел из одной системы счисления в другую
Арифметические операции в двоичной системе счисления
Системы счисления
Давайте посмотрим определение:
Система счисления – символический метод записи чисел, представление чисел с помощью письменных знаков. То есть, к примеру, думаем «Один», а записываем — 1.
Как вы наверняка знаете, существует много разных систем счисления, одними пользуются и сейчас (наша, родная, десятичная система; римская система, известная нам как «римские цифры»), другие остались в глубоком прошлом (системы счисления инков и майя, древнеегипитская система, вавилонская).
К примеру, еще не так давно, на Руси в ходу была пятиричная система счисления, так называемый «счет на пятки» (с ударением на «и»). При этом, число 10 произносилось как «два-пять».
Тут, я думаю, вопросов у нас нет, что такое системы счисления нам понятно — отображение чисел символами. А вот какая связь систем счисления с микроконтроллерами.
Дело в том, что при изучении устройства микроконтроллеров, создании программ, хотим мы того, или нет, нам с вами придется столкнуться с несколькими системами счисления.
Общаясь с микроконтроллером (а как вы уже знаете из предыдущей статьи, это общение происходит на уровне определенных команд, которые представляют из себя наборы единиц и нулей), мы используем одну систему счисления; оперируя различными данными — придется пользоваться другими системами счисления.
Если коротко, то при создании конструкций на микроконтроллерах используются три системы счисления: десятичная, двоичная и шестнадцатеричная. Вот о них мы сегодня поговорим более подробно.
Десятичная система счисления
Тут все просто. Все мы, в повседневной жизнедеятельности пользуемся десятичной системой счисления — набором цифр от 0 до 9 (всего десять цифр — потому и десятичная), из которых можно составить число любой величины. А так как эта система нам хорошо известна, то и не будем на ней останавливаться.
Шестнадцатиричная система счисления
Давайте посмотрим определение шестнадцатиричной системы счисления, а потом расшифруем его:
Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16
Что это значит. Если в десятичной системе для записи любого числа используется десять символов (основание 10) — цифры от нуля до девяти, то в шестнадцатиричной системе используется шестнадцать символов (основание 16) , в качестве которых обычно используются десятичные цифры от нуля до девяти (всего десять) и латинские буквы от A до F (всего шесть — A, B, C, D, E и F).
К примеру, число девять и в десятичной и шестнадцатиричной системах, будет записываться одинаково — 9. А вот число десять (в десятичной — 10), в шестнадцатиричной системе будет выглядеть так — «А».
Шестнадцатиричная система счисления используется потому, что в микроконтроллерах (как и всей компьютерной технике) минимальной единицей памяти является 8-битный байт, значения которого очень удобно записывать именно в шестнадцатиричной системе. Такое использование началось на заре развития компьютерной техники с систем фирмы IBM, где вся документация использовала шестнадцатеричную систему.
Для того, чтобы случайно не спутать числа в десятичной системе с числами в шестандцатиричной, для последней используется определенный синтаксис:
— используется префикс (запись перед числом): «0х» или знак «зеленного» — «$» , или такой знак — «#» , или
— в конце числа ставят букву «h»
К примеру, десятичное число 10 в шестнадцатиричной системе может выглядеть так:
— A
— Ox A
— $ A
— A h
— # A
Встречается и другой синтаксис.
Давайте посмотрим соответствие шестандцатиричных чисел десятичным:
1 – 1
5 – 5
10 – А
200 – С8
Ну а выражение «позиционная система счисления», или «позиционная нумерация», означает, что значение цифры в записи числа зависит от его позиции (единица в самом конце числа — просто единица, а если она вторая справа, то уже — десяток).
Двоичная система счисления
Как всегда, определение:
Двоичная система счисления — позиционная система счисления с основанием 2. Благодаря непосредственной реализации в цифровых электронных схемах на логических вентилях, двоичная система используется практически во всех современных компьютерах и прочих устройствах на их основе.
В двоичной системе все числа записываются двумя цифрами — и 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» , переведя его в «инженерный режим» :
(15 голосов, оценка: 4,67 из 5)
Широко используется в низкоуровневом программировании и компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, PDP-11 или БЭСМ-6) использовали восьмеричную систему.
В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями).
Шестнадцатеричный цвет — запись трёх компонент цвета (R, G и B) в шестнадцатеричном виде.
Способы записи
В математике
В математике основание системы счисления принято указывать в десятичной системе в нижнем индексе. Например, десятичное число 1443 можно записать как 144310 или как 5A316.
В языках программирования
В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис:
- В Ада и VHDL такие числа указывают так: «16#5A3#».
- В Си и языках схожего синтаксиса, например, в Java, используют префикс «0x». Например, «0x5A3».
- В некоторых ассемблерах используют букву «h», которую ставят после числа. Например, «5A3h». При этом, если число начинается не с десятичной цифры, то для отличия от имён идентификаторов (например, констант) впереди ставится «0» (ноль): «0FFh» (25510)
- Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые версии Бейсика используют префикс «$». Например, «$5A3».
- Некоторые иные платформы, например ZX Spectrum в своих ассемблерах (MASM, TASM, ALASM, GENS и т. д.) использовали запись #5A3, обычно выровненную до одного или двух байт: #05A3.
- Другие версии Бейсика используют для указания шестнадцатеричных цифр сочетание «&h». Например, «&h5A3».
- В Unix-подобных операционных системах (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как 0xCC, где CC — шестнадцатеричный код символа.
В электронных калькуляторах
Б3-34 и ему подобные используют «-», «L», «C», «Г», «E» « » (space) на их экране.
Перевод чисел из одной системы счисления в другую
Перевод чисел из шестнадцатеричной системы в десятичную
Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:
5A316 = 3·16 0 +10·16 1 +5·16 2
= 3·1+10·16+5·256 = 3+160+1280 = 144310
Перевод чисел из двоичной системы в шестнадцатеричную и наоборот
Для перевода многозначного двоичного числа в шестнадцатеричную систему нужно разбить его на тетрады справа налево и заменить каждую тетраду соответствующей шестнадцатеричной цифрой. Для перевода числа из шестнадцатеричной системы в двоичную нужно заменить каждую его цифру на соответствующую тетраду из нижеприведенной таблицы перевода.
0101101000112 = 0101 1010 0011 = 5A316
Таблица перевода чисел
hex | = | dec | = | oct | ||||
1hex | = | 1dec | = | 1oct | 1 | |||
2hex | = | 2dec | = | 2oct | 1 | |||
3hex | = | 3dec | = | 3oct | 1 | 1 | ||
4hex | = | 4dec | = | 4oct | 1 | |||
5hex | = | 5dec | = | 5oct | 1 | 1 | ||
6hex | = | 6dec | = | 6oct | 1 | 1 | ||
7hex | = | 7dec | = | 7oct | 1 | 1 | 1 | |
8hex | = | 8dec | = | 10oct | 1 | |||
9hex | = | 9dec | = | 11oct | 1 | 1 | ||
Ahex | = | 10dec | = | 12oct | 1 | 1 | ||
Bhex | = | 11dec | = | 13oct | 1 | 1 | 1 | |
Chex | = | 12dec | = | 14oct | 1 | 1 | ||
Dhex | = | 13dec | = | 15oct | 1 | 1 | 1 | |
Ehex | = | 14dec | = | 16oct | 1 | 1 | 1 | |
Fhex | = | 15dec | = | 17oct | 1 | 1 | 1 | 1 |
См. также
Ссылки
Wikimedia Foundation . 2010 .
Смотреть что такое "Шестнадцатеричная система счисления" в других словарях:
Шестнадцатеричная система счисления — позиционная система счисления с основанием 16, в которой для записи чисел используются символы 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. См. также: Позиционные системы счисления Финансовый словарь Финам … Финансовый словарь
шестнадцатеричная система счисления — 01.01.09 шестнадцатеричная система счисления [ hexadecimal (noun); HEX]: Метод представления данных в системе счисления с основанием 16 с использованием цифр от 0 до 9 и букв от А до F. Примечание Используется как удобное краткое средство записи… … Словарь-справочник терминов нормативно-технической документации
Шестнадцатеричная система — счисления (шестнадцатеричные числа) позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15.… … Википедия
Система счисления — Системы счисления в культуре Индо арабская система счисления Арабская Индийские Тамильская Бирманская Кхмерская Лаоская Монгольская Тайская Восточноазиатские системы счисления Китайская Японская Сучжоу Корейская Вьетнамская Счётные палочки… … Википедия
Шестнадцатиричная система счисления — Шестнадцатеричная система счисления (шестнадцатеричные числа) позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для… … Википедия
Восьмиричная система счисления — Восьмеричная система счисления позиционная целочисленная система счисления с основанием 8. Для представления чисел в ней используются цифры 0 до 7. Восьмеричная система часто используется в областях, связанных с цифровыми устройствами.… … Википедия
Позиционная система счисления — Системы счисления в культуре Индо арабская система счисления Арабская Индийские Тамильская Бирманская Кхмерская Лаоская Монгольская Тайская Восточноазиатские системы счисления Китайская Японская Сучжоу Корейская Вьетнамская Счётные палочки… … Википедия
Шестнадцатиричная система исчисления — Шестнадцатеричная система счисления (шестнадцатеричные числа) позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для… … Википедия
Позиционная система — счисления система счисления, в которой один и тот же числовой знак (цифра) в записи числа имеет различные значения в зависимости от того места (разряда), где он расположен. Изобретение позиционной нумерации, основанной на поместном значении цифр … Википедия
Позиционные системы счисления — Позиционная система счисления система счисления, в которой один и тот же числовой знак (цифра) в записи числа имеет различные значения в зависимости от того места (разряда), где он расположен. Изобретение позиционной нумерации, основанной на… … Википедия