- •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.1. Системы счисления
Системой счисления называется совокупность правил записи чисел с помощью символов. Различают непозиционные (римские цифры) и позиционные (десятичная, двоичная и др.) системы счисления. Наиболее часто используются позиционные системы счисления, т.к. они позволяют выполнять арифметические операции.
Каждая позиционная система счисления характеризуется основанием. Основание системы счисления «р» это количество символов, которое используется для изображения чисел.
В любой позиционной системе счисления целое число может быть представлено в двух формах записи:
В виде последовательности символов an-1 an-2 . . . a1 a0 ,
В виде степенного ряда =
= an-1рn-1 + an-2рn-2 + . . . + a1р1 + a0р0 = an-1qn-1 + an-2qn-2 + . . . + a1q1 + a0q0 .
где an-1 - символ старшего разряда; a0 - символ младшего разряда; ai – символ i-го разряда; i – номер разряда (i = n-1, n-2, … 1, 0); n – количество разрядов числа; р – основание системы счисления; рi = qi – вес i-го разряда.
В позиционных системах счисления номера символов увеличиваются справа налево от младшего нулевого разряда до старшего (n-1)-разряда. В позиционных системах счисления значение символа зависит от его позиции в числе. Все разряды числа отличаются друг от друга весом или весовым коэффициентом qi=pi. Веса разрядов увеличиваются справа налево (от младшего к старшему) в «р»-раз.
В человеческой деятельности обычно используется десятичная система счисления.
Десятичная или децимальная (decimal, dec) система счисления имеет основание десять (р=10). Любое число записывается с помощью десяти символов (цифр): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Табл.2.1. Веса разрядов восьмиразрядного десятичного целого числа
Номер разряда |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Вес разряда |
107 |
106 |
105 |
104 |
103 |
102 |
101 |
100 |
Вес разряда |
10000000 |
1000000 |
100000 |
10000 |
1000 |
100 |
10 |
1 |
Для отличия одной системы счисления от другой справа пишется символ, равный основанию 12510. Пример записи десятичного числа: 12510.
Пример записи десятичного числа:
в виде последовательности символов 125;
в виде степенного ряда 1·102 + 2·101 + 5·100 = 100 + 20 + 5.
В вычислительной технике для хранения, обработки и передачи информации (адресов, команд и данных) используется двоичная система счисления.
Двоичная или бинарная (binary, bin) система счисления имеет основание два (р=2). Любое число записывается с помощью двух символов (цифр): 0, 1. Эти двоичные цифры названы битами (bit от binary digit). Для идентификации двоичных чисел используются следующие способы: 11012, 1101bin, 1101b, 0b1101.
Табл.2.2. Веса разрядов восьмиразрядного двоичного целого числа
Номер разряда |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Вес разряда |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
Вес разряда |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Пример записи двоичного целого числа:
в виде последовательности символов 1112;
в виде степенного ряда 1·(102)2 + 1·(102)1 + 1·(102)0 = 1002 + 102 + 12 (показатель степени для удобства приведен в десятичной системе счисления).
Цифровая и микропроцессорная техника строится в ИС ТТЛ (интегральные схемы транзисторно-транзисторной логики) и ИС КМОП (интегральные схемы комплементарные-металл-оксидные-полупроводниковые).
Напряжение питания ИС ТТЛ равно Uпит = +5,0 B. Уровни логических сигналов (биты) ИС ТТЛ на физическом уровне представляются напряжением питания Uпит в диапазоне от 0 до +5 В:
1. Биту, имеющему значение ноль (логический ноль, Low), соответствует напряжение низкого уровня U0 = (0 … +0,4) В.
2. Биту, имеющему значение единица (логическая единица, High) , соответствует напряжение высокого уровня U1 = (+2,4 В … +5,0) B.
Для питания различных ИС КМОП могут использоваться напряжения питания Uпит в диапазоне от 3,3 В до +15 В. Уровни логических сигналов (биты) ИС КМОП на физическом уровне представляются напряжением питания Uпит в диапазоне от 0 до + Uпит:
1. Биту, имеющему значение ноль (логический ноль, Low), соответствует напряжение низкого уровня U0 = (0 … +0,3∙Uпит) В.
2. Биту, имеющему значение единица (логическая единица, High) , соответствует напряжение высокого уровня U1 = (+0,99∙Uпит … Uпит) В.
В современных микропроцессорах, построенных на микросхемах КМОП, используется напряжение питания Uпит = 3,3 В и ниже.
Достоинства двоичной системы счисления:
Простота технической реализации цифровых элементов, используемых для построения вычислительной системы.
2) Высокая скорость обработки данных.
Недостатки двоичной системы счисления:
1) Трудность запоминания человеком двоичных чисел.
2) Большая разрядность двоичных чисел, по сравнению с другими системами счисления.
Для компактной записи двоичных чисел используются шестнадцатеричные числа.
Шестнадцатеричная или гексадецимальная (hexadecimal) система счисления имеет основание шестнадцать (р=2n=16, где n = 4 двоичных бита для записи каждого шестнадцатеричного символа). Для записи числа используются шестнадцать символов (цифр и букв): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Значение каждой прописной буквы латинского алфавита буквы A, B, C, D, E, F соответствует десятичным числам 10, 11, 12, 13, 14, 15.
Каждый шестнадцатеричный символ может быть представлен единственным сочетанием четырех бит (тетрадой). Тетрада может принимать 24=16 значений (от 010 до 1510 или от 016 до F16). Шестнадцатеричная система используется для кодирования двоичных чисел, разрядность которых кратна четырем (4, 8, 16 и т.д.). Пример записи шестнадцатеричного числа: А516, А5hex, А5h, $А5, 0xА5.
Табл.2.4. Веса разрядов восьмиразрядного шестнадцатеричного целого числа
Номер разряда |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Вес разряда |
167 |
166 |
165 |
164 |
163 |
162 |
161 |
160 |
Вес разряда |
268435456 |
16777216 |
1048576 |
65536 |
4096 |
256 |
16 |
1 |
В таблице 2.5 представлены последовательности целых чисел, записанных в различных системах счисления.
Табл.2.5. Последовательности целых чисел в разных системах счисления
Dec |
Bin |
Hex |
Dec |
Bin |
Hex |
Dec |
Bin |
Hex |
Dec |
Bin |
Hex |
0 1 2 3 |
0000 0001 0010 0011 |
0 1 2 3 |
4 5 6 7 |
0100 0101 0110 0111 |
4 5 6 7 |
8 9 10 11 |
1000 1001 1010 1011 |
8 9 A В |
12 13 14 15 |
1100 1101 1110 1111 |
C D E F |
Шестнадцатеричные числа имеют следующие преимущества перед двоичными и десятичными:
1. Шестнадцатеричное число дает более компактную запись двоичного числа.
2. Шестнадцатеричное число имеет более упорядоченную форму записи по сравнению с десятичным числом, способствующую лучшему запоминанию.
Табл.2.6. Сравнительная характеристика различных систем счисления
Разрядность двоичного числа, n |
Максимальное значение n-разрядного числа (2n-1) |
||
Двоичное |
Десятичное |
Шестнадцатеричное |
|
4 |
1111 |
15 |
F |
8 |
1111 1111 |
255 |
FF |
12 |
1111 1111 1111 |
4095 |
FFF |
16 |
1111 1111 1111 1111 |
65535 |
FFFF |
20 |
1111 1111 1111 1111 1111 |
1048575 |
FFFFF |
В любой позиционной системе счисления вещественное число может быть представлено в двух формах записи:
1. В виде последовательности символов an-1 an-2 . . . a1 a0 , a-1 a-2 …a-(m-1) a-m,
2. В виде степенного ряда =
= an-1рn-1 + an-2рn-2 + . . . + a1р1 + a0р0 + a-1р-1 + a-2р-2 + … + a-(m-1)р-(m-1) + a-mр-m =
= an-1qn-1 + an-2qn-2 + . . . + a1q1 + a0q0 + a-1q-1 + a-2q-2 + … + a-(m-1)q-(m-1) + a-mq-m .
где ai – значение символа i-го разряда; i – номер разряда (i = n-1, n-2, … 1, 0, -1, -2 …, -m+1, -m); р – основание системы счисления; qi – вес i-го разряда (qi=рi); n – количество разрядов целой части вещественного числа; m – количество разрядов дробной части вещественного числа.
Пример записи десятичного вещественного числа:
в виде последовательности символов 125,87510;
в виде степенного ряда
1·102 + 2·101 + 5·100 + 8·10-1 + 7·10-2 + 5·10-3 = 10010 + 2010 + 510 + 0,810 + 0,0710. + 0,00510
Табл.2.7. Веса разрядов восьмиразрядного десятичного дробного числа
Номер разряда |
-1 |
-2 |
-3 |
-4 |
-5 |
-6 |
-7 |
-8 |
Вес разряда |
10-1 |
10-2 |
10-3 |
10-4 |
10-5 |
10-6 |
10-7 |
10-8 |
Вес разряда |
0,1 |
0,01 |
0,001 |
0,0001 |
0,00001 |
0,000001 |
0,0000001 |
0,00000001 |
Пример записи двоичного вещественного числа:
в виде последовательности символов 1111101,1112;
в виде степенного ряда
1·(102)6 + 1·(102)5 + 1·(102)4 + 1·(102)3 + 1·(102)2 + 0·(102)1 + 1·(102)0 + 1·(102)-1 + 1·(102)-2 + 1·(102)-2 =
10000002 + 1000002 + 100002 + 10002 + 1002 + 02 + 12 + 0,12 + 0,012 + 0,0012
(показатель степени для удобства приведен в десятичной системе счисления).
Табл.2.8. Веса разрядов восьмиразрядного двоичного дробного числа
Номер разряда |
-1 |
-2 |
-3 |
-4 |
-5 |
-6 |
-7 |
-8 |
Вес разряда |
2-1 |
2-2 |
2-3 |
2-4 |
2-5 |
2-6 |
2-7 |
2-8 |
Вес разряда |
1/2 |
1/4 |
1/8 |
1/16 |
1/32 |
1/64 |
1/128 |
1/256 |