- •Позиционная система счисления
- •Основные понятия, используемые в двоичной системе счисления
- •Перевод чисел из произвольной системы счисления в десятичную
- •Обозначение цифр в шестнадцатеричной системе счисления
- •Перевод десятичного числа в произвольную систему счисления
- •Связь двоичной, восьмеричной и шестнадцатеричной систем счисления
- •Прямая кодировка знаковых двоичных чисел
- •Дополнительная кодировка знаковых двоичных чисел
- •Микропроцессор, его основные функции и структура
- •Микропроцессорная система, ее функции и структура
- •Память (пзу, озу)
- •Основные функции и структура арифметико-логического устройства (алу)
- •Состав регистрового файла на примере avr-контроллера
- •Структура стековой памяти
- •Основные биты регистра признаков
- •Назначение регистра программного счетчика
- •Устройство управления микропроцессора
- •Сигналы управления, используемые при обращении микропроцессора к памяти и к устройству ввода, вывода (увв)
- •Типы памяти микропроцессорных систем
- •Адресация пространства памяти avr-контроллера
- •Основные типы адресации операндов в ассемблерных командах avr-контроллера
- •Основные типы команд в группе команд передачи данных avr-контроллера
- •Основные арифметические команды avr-контроллера
- •Основные логические команды avr-контроллера
- •Безусловные команды передачи управления avr-контроллера
- •Условные команды передачи управления avr-контроллера
- •Основные битовые команды avr-контроллера
- •Правила программирования на языке Assembler
- •Директивы языка ассемблер
- •Выражения языка Assembler: операнды
- •Выражения языка Assembler: операторы
- •Выражения языка Assembler: функции
- •Структура программы на языке си
- •Директивы языка си
- •Команды языка си
Обозначение цифр в шестнадцатеричной системе счисления
Перевод десятичного числа в произвольную систему счисления
Для перевода целого десятичного числа X в систему счисления с основанием q необходимо последовательно делить исходное число X и образующиеся частные на основание q до получения частного равного нулю. Искомое представление числа есть последовательность остатков от операций деления, причем первый остаток дает младшую цифру искомого числа.
Пример №3:
Определить двоичный эквивалент числа 183
183/2 = 91 (остаток 1)
91/2 = 45 (остаток 1)
45/2 = 22 (остаток 1)
22/2 = 11 (остаток 0)
11/2 = 5 (остаток 1)
5/2 = 2 (остаток 1)
2/2 = 1 (остаток 0)
1/2 = 0 (остаток 1)
18310 = 101101112
Пример №4:
Определить шестнадцатеричный эквивалент числа 186
186/16 = 11 (остаток 10)
11/16 = 0 (остаток 11)
18610 = ВА16
Связь двоичной, восьмеричной и шестнадцатеричной систем счисления
Для перевода двоичного числа в систему счисления с основанием 8 или 16 необходимо исходное число справа налево сгруппировать по 3 или по 4 бита, а затем каждую группу записать одной восьмеричной или шестнадцатеричной цифрой.
Пример №5:
Определить восьмеричный эквивалент двоичного числа 10101111
101011112 = 2578
1112 = 1•20 + 1•2 + 1•22 = 78
1012 = 1•20 + 0•2 + 1•22 = 58
0102 = 0•20 + 1•2 + 0•22 = 28
Пример №6:
Определить шестнадцатеричный эквивалент двоичного числа 10101111
101011112 = AF16
11112 = 1510 = F16
10102 = 1010 = A16
Прямая кодировка знаковых двоичных чисел
При записи знаковых чисел всегда задают его формат, т.е. число бит, выделяемых для записи знакового числа. Обычно этот формат состоит из восьми бит. Используются прямой (Рис.1) и дополнительный коды (Рис.2) для записи знаковых чисел. В прямой кодировке старший разряд используется как знаковый разряд, а оставшиеся младшие разряды используются для обозначения модуля числа.
Рис.1 Прямой код
Максимальное положительное число в прямой кодировке в двоичном представлении записывается как 01111111 = 12710.
Минимальное положительное число в прямой кодировке в двоичном представлении записывается как 11111111 = -12710.
Дополнительная кодировка знаковых двоичных чисел
Прямой код использовался в микропроцессорной технике на ранних этапах развития. В настоящее время используется лишь дополнительный код для записи знаковых чисел. В дополнительном коде кодировка положительных чисел совпадает с прямой кодировкой, а для кодировки отрицательных чисел введено специальное правило. Для получения дополнительного кода отрицательные числа в формате из n бит необходимо записать n-битный модуль этого числа, затем все биты проинвертировать и к полученному числу арифметически прибавить единицу.
Для получения модуля отрицательного числа записанного в дополнительном коде необходимо выполнить следующие операции:
З аписать n-битный код отрицательного числа,
Проинвертировать все биты,
Арифметически прибавить единицу.
Рис.2 Дополнительный код
Пример:
10101111 Знак: «-»
0101111 – Модуль
Число 10101111 после инвертирования становиться 01010000, затем прибавляем единицу
01010000 + 1 = 010100012 = 5116 = 8110