- •2. Арифметические основы микропроцессорной техники
- •2.1. Системы счисления
- •2.2. Перевод из одной системы счисления в другую
- •2.2.1. Перевод целого десятичного числа в двоичную систему счисления
- •2.2.4. Перевод целого двоичного числа в шестнадцатеричную систему счисления
- •2.2.5. Перевод целого шестнадцатеричного числа в двоичную систему счисления
- •2.2.6. Перевод целого шестнадцатеричного числа в десятичную систему счисления
- •2.2.7. Перевод дробного десятичного числа в двоичную систему счисления
- •2.2.8. Перевод дробного двоичного числа в десятичную систему счисления
- •2.3. Представление информации в вычислительно технике
- •2.3.1. Целые числа без знака (unsigned)
- •2.3.2. Целые числа со знаком (signed)
- •2.3.3. Числа с плавающей точкой (float)
- •2.3.4. Символьные данные (char)
- •2.3.5.2. Представление десятичного числа в двоично-десятичном неупакованном формате
- •2.3.5.3. Перевод bcd упакованного формата в десятичное число
- •2.3.5.4. Перевод bcd неупакованного формата в десятичное число
- •2.4. Арифметические операции
- •2.4.1. Арифметическое сложение
- •2.4.1.1. Арифметическое сложение двоичных чисел
- •2.4.1.2. Арифметическое сложение шестнадцатеричных чисел
- •2.4.2. Арифметическое вычитание
- •2.4.3. Арифметическое умножение
- •2.4.4. Арифметическое деление
- •2.5. Проверка результатов выполнения арифметических операций
2.2.4. Перевод целого двоичного числа в шестнадцатеричную систему счисления
В шестнадцатеричной системе счисления каждый разряд представляется четырехразрядным двоичным числом, называемым тетрадой.
Перевод целого двоичного числа в шестнадцатеричную систему счисления производится по правилу:
Разбить двоичное число (справа налево) на тетрады (группы из четырех разрядов).
Дополнить старшую (левую) тетраду нулями, если после разбиения в ней оказывается меньше четырех разрядов.
Перевести каждую тетраду в десятичную систему счисления с помощью сложения весов единичных разрядов.
Преобразовать каждый десятичный символ в шестнадцатеричный (Табл.2.5).
Каждая тетрада после преобразования образует разряд шестнадцатеричного числа.
Пример: Перевести двоичное число 11111012 в шестнадцатеричную систему счисления.
11111012 = [111] [1101] = [0111] [1101]. Порядок перевода показан в таблице 2.4.
Табл.2.12. Перевод восьмиразрядного двоичного числа в шестнадцатеричное
-
Тетрады
Старшая тетрада
Младшая тетрада
Вес тетрады
8
4
2
1
8
4
2
1
Двоичное число
0
1
1
1
1
1
0
1
Десятичное число
7
13
Шестнадцатеричное число
7
D
Ответ: 11111012 = 7D16.
2.2.5. Перевод целого шестнадцатеричного числа в двоичную систему счисления
Перевод шестнадцатеричного числа в двоичную систему счисления производят по правилу:
Каждый символ шестнадцатеричного числа переводится в десятичный.
Каждый десятичный символ переводится в тетраду.
Из последовательности тетрад составляется двоичное число.
Пример: Перевести шестнадцатеричное число 7D16 в двоичную систему счисления
7D16 = [7][D]=[7][13]= [0111] [1101] = 11111012.
Ответ: 7D16 = 11111012.
2.2.6. Перевод целого шестнадцатеричного числа в десятичную систему счисления
Перевод целого шестнадцатеричного числа в десятичную систему счисления производят по формуле степенного ряда: an-1рn-1 + an-2рn-2 + . . . + a1р1 + a0р0 , где р = 16.
Перевод выполняется в следующей последовательности:
Записать степенной ряд с учетом разрядности числа n.
Подставить в формулу значение разрядов шестнадцатеричного числа
Пример: Перевести шестнадцатеричное число 7D16 в десятичную систему счисления. Для шестнадцатеричного числа составляем степенной ряд, который будет использоваться для вычислений: a1р1 + a0р0.
7D16 = [7][D] = [7][13] = 7161 + 13160 = 112 + 13 = 12510.
Ответ: 7D16 = 12510.
2.2.7. Перевод дробного десятичного числа в двоичную систему счисления
Перевод дробного десятичного числа в двоичную систему счисления производят последовательным умножением десятичного числа на 2 (на основание двоичной системы счисления р=2).
Перевод выполняется по следующему правилу:
Умножить дробную часть на два;
Разбить полученное произведение на целую и дробную части
Целая часть произведения является символом старшего (левого, минус первого) разряда двоичного числа;
Умножить дробную часть произведения на два
Разбить полученное произведение на целую и дробную части
Целая часть произведения является символом следующего разряда двоичного числа;
Перейти к пункту 4.
Количество умножений зависит от заданной точности представления дробной части. Если при умножении произведение становится равным 0.0, то дробное число точно представляется в двоичной системе счисления. Если при умножении произведение не становится равным 0.0, то дробное число может быть представлено в двоичной системе счисления только приближенно. Относительную погрешность можно определить по формуле σ = (Хисх-Хвос)/Хисх (Хисх – исходное десятичное число, Хвос – восстановленное десятичное число, полученное переводом из двоичной системы счисления).
Пример: перевести дробное десятичное число 0,5710 в двоичную систему счисления с точностью до восьмого знака (m=8). Порядок перевода приведен в таблице 2.9.2.
Табл.2.13. Перевод дробного десятичного числа 0,5710 в двоичную систему счисления
№ |
Умножение |
Произведение |
Дробная часть |
Целая часть |
Комментарий |
1 |
0,57 * 2 |
1,14 |
0,14 |
1 |
-1-ый (старший) разряд |
2 |
0,14 * 2 |
0,28 |
0,28 |
0 |
-2-ой разряд |
3 |
0,28 * 2 |
0,56 |
0,56 |
0 |
-3-ий разряд |
4 |
0,56 * 2 |
1,12 |
0,12 |
1 |
-4-ый разряд |
5 |
0,12 * 2 |
0,24 |
0,24 |
0 |
-5-ый разряд |
6 |
0,24 * 2 |
0,48 |
0,48 |
0 |
-6-ой разряд |
7 |
0,48 * 2 |
0,96 |
0,96 |
0 |
-7-ой разряд |
8 |
0,96 * 2 |
1,92 |
0,92 |
1 |
-8-ой разряд |
Ответ: 0,5710 = 0,100100012.