Системой счисления называется способ изображения чисел с помощью ограниченного набора символов, имеющих определенные количественные значения. Систему счисления образует совокупность правил и приемов представления чисел с помощью набора знаков (цифр).
Различают позиционные и непозиционные системы счисления. В позиционных системах каждая цифра числа имеет определенный вес, который зависит от позиции цифры в последовательности, изображающей число. Позиция цифры называется разрядом. В
где $$a_i$$ - $$i$$-я цифра числа;
$$k$$ - количество цифр в дробной части числа;
$$m$$ - количество цифр в целой части числа;
$$N$$ - основание системы счисления.
Основание системы счисления $$N$$ показывает, во сколько раз "вес" $$i$$-го разряда больше ($$i-1$$) разряда. Целая часть числа отделяется от дробной части точкой (запятой).
Пример 14.1. $$A_{10}=37.25$$.
В соответствии с формулой (14.1) это число формируется из цифр с весами разрядов:
$$A_{10}=3-10^1+7-10^0+2-10^{-1} + 5-10^{-2}$$Теоретически наиболее экономичной системой счисления для представления значения числа цифрами является система с основанием $$е =2,71828\dots$$, находящимся между числами 2 и 3.
Во всех современных ЭВМ для представления числовой информации применяется
При $$N=2$$ число различных цифр, используемых для записи чисел, ограничено множеством из двух цифр (нуль и единица). Кроме двоичной системы счисления, широкое распространение получили и производные системы:
Восьмеричная и шестнадцатеричная системы счисления являются производными от двоичной, так как $$16=2^4$$ и $$8=2^3$$. Они применяются в основном для более компактного изображения двоичной информации, так как запись значения чисел производится существенно меньшим числом знаков
Пример 14.2. Число $$A_{10}=100.625$$ в двоичной, восьмеричной и шестнадцатеричной системах счисления имеют следующее представление:
$$А_2 =1100100.101;\\ A_8=144.5;\\ А_{16} = 64.А;\\ A_2=1*2^6+1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+0*2^0+1*2^{-1}+0*2^{-2}+1*2^{-3};\\ A_8 =1*8^2+4*8^1+4*8^0+5*8^{-1};\\ A_{16} =6*16'+4*16^0+10*16^{-1}.$$В табл. 14.1 приведено сравнительное представление чисел в различных системах счисления: десятичной (10 с/с), двоичной (2 с/с), восьмеричной (8 с/с) и шестнадцатеричной (16 с/с).
По данным этой таблицы можно выявить целый ряд закономерностей:
незначащие нули слева от целой части и справа от дробной части числа не изменяют значений чисел;
| 10c/c | 2c/c | 8c/c | 16c/c | 10c/c | 2c/c | 8c/c | 16c/c |
| Целые числа | Целые числа | ||||||
| 0 | 00000 | 0 | 0 | 10 | 01010 | 12 | A |
| 1 | 00001 | 1 | 1 | 11 | 01011 | 13 | B |
| 2 | 00010 | 2 | 2 | 12 | 01100 | 14 | C |
| 3 | 00011 | 3 | 3 | 13 | -1101 | 15 | D |
| 4 | 00100 | 4 | 4 | 14 | 01110 | 16 | E |
| 5 | 00101 | 5 | 5 | 15 | 01111 | 17 | F |
| 6 | 00110 | 6 | 6 | 16 | 10000 | 20 | 10 |
| 7 | 00111 | 7 | 7 | 17 | 10001 | 21 | 11 |
| 8 | 01000 | 10 | 8 | 18 | 10010 | 22 | 12 |
| 9 | 01001 | 11 | 9 | и.т.д. | |||
| Дробные числа | Дробные числа | ||||||
| 0.5 | 0.1 | 0.4 | 0.8 | 0.0625 | 0.0001 | 0.04 | 0.1 |
| 0.25 | 0.01 | 0.2 | 0.4 | 0.03125 | 0.00001 | 0.02 | 0.08 |
| 0.125 | 0.001 | 0.1 | 0.2 | и т.д. | |||
В ЭВМ перевод из одной системы в другую осуществляется автоматически, по специальным программам. Правила перевода целых и дробных чисел отличаются.
Необходимо сделать несколько замечаний. В общем случае перевод любого числа с дробью из одной системы счисления в другую может привести к появлению иррациональных чисел, имеющих бесконечное количество разрядов в дробной части чисел. Естественно, что любое техническое устройство, например компьютер, может оперировать только с конечным числом цифр, являющихся старшими, наиболее значимыми разрядами.
Игнорирование, отбрасывание младших разрядов чисел приводит к их округлению. При этом разница между округляемым и полученным числами называется ошибкой округления. Следует учитывать, что округление результатов вычислений по любому неслучайному правилу приводит к ошибкам с ненулевым смещением [83].
Целое число с основанием $$N1$$ переводится в систему счисления с основанием $$N2$$ путем последовательного деления числа $$A_{Ni}$$ на основание $$N2$$, записанного в виде числа с основанием $$N1$$, до получения остатка. Полученное частное следует вновь делить на основание $$N2$$, и этот процесс надо повторять до тех пор, пока частное не станет меньше делителя.
Полученные остатки от деления и последнее частное записываются в порядке, обратном полученному при делении. Сформированное число и будет являться числом с основанием $$N2$$.
Пример 14.3. $$A_{10}=37, A_2=?, A_{16}=?$$
Дробное число с основанием $$N1$$ переводится в систему счисления с основанием $$N2$$ путем последовательного умножения <<Eqn010.eps>> на основание $$N2$$, записанное в виде числа с основанием $$N1$$. При каждом умножении целая часть произведения берется в виде очередной цифры соответствующего разряда, а оставшаяся дробная часть принимается за новое множимое. Число умножений определяет разрядность полученного результата, представляющего число $$A_{Ni}$$ в системе счисления $$N2$$.
Пример 14.4. $$A_{10}=0.625; A_2=?; A_8=?; A_{16}=?$$
Так как двоичная, восьмеричная и шестнадцатеричная системы связаны через степени числа 2, то преобразования между ними можно вы-полнять другим, более простым способом. Для перевода из шестнадцатеричной (
В компьютерах используются три вида чисел: с фиксированной точкой (запятой), с плавающей точкой (запятой) и двоично-десятичное представление. Точка (запятая) - это подразумеваемая граница целой и дробной частей числа, разряды $$k$$ и$$т$$ формулы (4.1).
Все современные компьютеры имеют центральный процессор или центральное процессорное устройство - CPU (CPU служит простота алгоритмов выполнения операций и, соответственно, высокая скорость операций.
У чисел с фиксированной точкой в двоичном формате предполагается строго определенное место точки (запятой). Обычно это место определяется или перед первой цифрой числа, или после последней цифры числа. Если точка фиксируется перед первой значащей цифрой, то это означает, что число по модулю меньше единицы. Диапазон изменения значений чисел определяется неравенством:
$$2^{-n} \le |A_2| \le 1-26{-n}$$Если точка фиксируется после последней цифры, то это означает, что $$n$$-разрядные двоичные числа являются целыми. Диапазон изменения их значений составляет:
$$- \le |A_2| \le 2^n-1$$Перед самым старшим из возможных цифровых разрядов двоичного числа фиксируется его знак. Положительные числа имеют нулевое значение знакового разряда, отрицательные - единичные. Каждая цифра двоичного числа $$\{0,1\}$$ занимает один бит соответствующего $$n$$-разрядного формата.
Существенным недостатком представления чисел с фиксированной точкой служит тот факт, что аппроксимация малых чисел связана с большой относительной ошибкой. Для чисел же, приближающихся по величине к максимально возможным ($$2n$$), относительная ошибка уменьшается. Абсолютная же ошибка представления чисел с фиксированной точкой всегда лежит в одних и тех же пределах независимо от величины чисел.
Другой формой представления чисел является представление их в виде чисел с плавающей точкой (запятой). Представление чисел с плавающей точкой необходимо использовать, когда обрабатываемые числа имеют очень большой диапазон изменения. Эта ситуация типична для научно-технических расчетов (тригонометрические, экспоненты, логарифмы). Поэтому все современные микропроцессоры в качестве дополнения к CPU имеют (NPX (CPU и позволяет добиться большей скорости и большей точности вычислений.
Числа с плавающей точкой представляются в виде
что соответствует записи
$$A_2=2^{\pm p_a}*(\pm m_a)$$Детализация
Все современные ЭВМ имеют достаточно развитую систему команд, включающую десятки и сотни машинных операций. Однако выполнение любой операции основано на использовании простейших
| Значения двоичных чисел А и В | Разряд суммы | Перенос в следующий разряд | ||
|---|---|---|---|---|
| $$a_i$$ | $$b_i$$ | $$p_{i-1}$$ | $$S_i$$ | $$P_i$$ |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Здесь показаны правила сложения двоичных цифр $$a_i$$, $$b_i$$ одноименных разрядов с учетом возможных переносов из предыдущего разряда $$p_{i-1}$$.
Подобные таблицы можно было бы построить для любой другой арифметической и логической операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу выполнения любой операции ЭВМ. Под знак чисел отводится специальный знаковый разряд. Знак "+" кодируется двоичным нулем, а знак "-" - единицей. Действия над прямыми кодами двоичных чисел при выполнении операций создают большие трудности, связанные с необходимостью учета значений знаковых разрядов:
Во всех ЭВМ без исключения все операции выполняются над числами, представленными специальными машинными кодами. Их использование позволяет обрабатывать знаковые разряды чисел так же, как и цифровые разряды, а также заменять операцию вычитания операцией сложения.
Различают прямой код (П),
Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или единица) перед его старшим числовым разрядом.
Пример 14.5.
$$A_{10} = +10\; A_2 = +1010\; [А_2]_п=0 \vdots 1010; \\ B_{10}=-15\; B_2=-1111 \; [B_2]_n=1 \vdots 1111$$Точечной вертикальной линией здесь отмечена условная граница, отделяющая знак от цифровых разрядов.
Обратный код двоичного числа образуется по следующему правилу.
Пример 14.6.
$$А_{10} = +5\; А_2=+101\; [А_2]_n=[А_2]_{ОК} = 0 \vdots 101; \\ В_{10}=-13\; В_2=-1101\; [B_2]_{0K}=1 \vdots 0010.$$Свое название
Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет собой результат суммирования обратного кода числа с единицей младшего разряда ($$2^0$$- для целых чисел, $$2^{-k}$$ - для дробных).
Пример 14.7.
$$А_{10} =+19\; A_2=+10011\; [A_2]_n=[A_2]_{OK}=[A_2]_{ДК}=0 \vdots 10011;\\ B_{10}=-13\; B_2=-11-1\; [B_2]_{ДК}=[B_2]_{OK}+2^0=1 \vdots 0010+1=1 \vdots 0011$$Укажем основные свойства дополнительного кода.
Сложение дополнительных кодов положительного числа $$С$$ с его отрицательным значением дает так называемую машинную единицу дополнительного кода:
$$МЕ_{дк}=МЕ_{ок}+20=10 \vdots 00\dots 00,$$т. е. число 10 (два) в знаковых разрядах числа.
Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак "+" в этих кодах кодируется двумя нулевыми знаковыми разрядами, а "-" - двумя единичными разрядами.
Пример 14.8.
$$А_{10} = 9;\; A_2=+1001;\; [A_2]_n=[A_2]_{ок}=[A_2]_{ДK}= 0 \vdots 1001;\\ \[[A_2\]]_{мок}=[A_2]_{мдк}=00 \vdots 1001;\\ В_{10}=- 9;\; В_2 =-1001;\; [В_2]_{ок}= 1 \vdots 0110 \; [B_2]_{ДК}=1\vdots 0111;\\ \[[B_2\]]_{мок}=11 \vdots 0110; [B_2]_{МДК}=11 \vdots 0111.$$Целью введения
Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный (ОК) или дополнительный (ДК) код. Пусть числа $$А \ge 0$$ и $$В \ge 0$$, тогда операция алгебраического сложения выполняется в соответствии с табл. 14.3.
| Требуемая операция | Необходимое преобразование |
|---|---|
| $$A+B$$ | $$A+B$$ |
| $$A-B$$ | $$A+(-B)$$ |
| $$-A+B$$ | $$ (-A)+B$$ |
| $$-A-B$$ | $$ (-A)+(-B)$$ |
Зависимости, представленные в правой части таблицы, указывают на замену операции вычитания операцией сложения с обратным или дополнительным кодом соответствующего числа. Сложение двоичных чисел осуществляется последовательно, поразрядно в соответствии с табл. 14.2. При выполнении сложения цифр необходимо соблюдать следующие правила.
Пример 14.9. Сложить два числа $$A_{10}= 7; B_{10}= 16$$.
$$A_2 = +111 = +0111; \\ B_2 = + 1000 = + 10000.$$Исходные числа имеют различную разрядность, и необходимо провести выравнивание разрядной сетки:
$$[A_2]_п =[A_2]_{ок}= [A_2]_{ДК}=0 \vdots 00111;\\ \[[B_2\]]_п=[B_2]_{ок}=[B_2]_{ДК}=0 \vdots 10000.$$Сложение в обратном или дополнительном кодах дает один и тот же результат:
$$\frac{\begin{matrix}0\;\vdots\;00111\\+0\;\vdots\; 10000 \end{matrix}}{C_2=0 \;\vdots\; 10111_2}\\C_{10}=+23$$Обратим внимание, что при сложении цифр отсутствуют переносы в знаковый разряд и из знакового разряда, что свидетельствует о получении правильного результата.
Пример 14.10. Сложить два числа $$A_{10}= +16;\;B_{10}=-7$$ в ОК и ДК. В соответствии с табл. 14.3 должна быть реализована зависимость $$A+(-B)$$, в которой второй член преобразуется с учетом знака
$$[A_2]_п=0\; \vdots \; 10000=0 \; \vdots \;10000;\;[A_2]_{oк}=0 \vdots \; 10000;\; [A_2]={ДК}=0 \; \vdots \; 10000\\ \[[B_2\]] _п=1\;\vdots111=1\;\vdots\;00111;\; [B_2]_{ок}=1\;\vdots \;11000;\;[B_2]_{ДК}=1\;\vdots\;11001$$
При сложении чисел в ОК и ДК были получены переносы в знаковый разряд и из знакового разряда. В случае ОК перенос из знакового разряда требует дополнительного прибавления единицы младшего разряда (см. п. 4. правил). В случае ДК этот перенос игнорируется.
Умножение. Умножение двоичных чисел наиболее просто реализуется в прямом коде. Рассмотрим, каким образом оно приводится к операциям сложения и сдвигам.
Пример 14.11. Умножить два числа $$A_{10}=7;\; B_{10}=5$$. Перемножим эти числа, представленные прямыми двоичными кодами, так же, как это делается в десятичной системе.
Нетрудно видеть, что произведение получается путем сложения частных произведений, которые представляют собой разряды множимого, сдвинутые влево в соответствии с позициями разрядов множителя. Частные произведения, полученные умножением на нуль, игнорируются. Важной особенностью операции умножения n-разрядных сомножителей является увеличение разрядности произведения до $$n+n=2n$$. Знак произведения формируется путем сложения знаковых разрядов сомножителей. Возможные переносы из знакового разряда игнорируются.
Деление. Операция деления, как и в десятичной арифметике, является обратной операции умножения. Покажем, что и эта операция приводится к последовательности операций сложения и сдвига.
Пример 14.12. Разделить два числа $$A_{10}=45;\; B_{10}=5$$.
$$[А_2]_п= 101101\\ \[[B_2\]]_п=101$$
Деление произведено так же, как это делается обычно в десятичной системе. Сначала проверяется, можно ли вычесть значение делителя из старших разрядов
Знак частного формируется также путем сложения знаковых разрядов
Теоретической основой построения ЭВМ служат специальные математические дисциплины. Одной из них является
Вся информация в ЭВМ представляется в
В этом случае зависимостями
$$y_J=f{x_l,x_2,\dots,x_i,\dots,x_n),$$где $$x_i$$ -$$ i$$- й вход;
$$n$$ - число входов;
$$y_j$$ -$$j$$-й выход;
$$т$$ - число выходов в устройстве, можно описывать алгоритм работы любого устройства ЭВМ. Каждая такая зависимость $$у_j$$ является "булевой функцией, у которой число возможных состояний и каждой ее независимой переменной равно двум" (стандарт ISO 2382/2-76), т.е. функцией
(рис 14.1) Входные и выходные сигналы в схемах компьютера
Известно, что количество всевозможных функций $$N$$ от $$n$$ аргументов выражается зависимостью:
$$N=2^{2^n}$$При $$n = 0$$ можно определить две основные функции ($$N = 2$$), не зависящие от каких-либо переменных: $$y_0$$, тождественно равную нулю ($$y_0 \equiv 0$$), и $$y_1$$, тождественно равную единице ($$y_1 \equiv 1$$). Технической интерпретацией функции $$y_1 \equiv 1$$ может быть
При $$n=1$$ зависимость (14.3) дает $$N=4$$. Представим зависимость значений этих функций от значения аргумента $$x$$ в виде специальной таблицы истинности (табл. 14.4).
| $$X$$ | $$Y_j$$ | $$Y0$$ | $$Y1$$ | $$Y2$$ | $$Y3$$ |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | |
| 1 | 0 | 1 | 1 | 0 | |
Таблицы истинности получили такое название, потому что они определяют значение функции в зависимости от комбинации входных сиг-налов. В этой таблице, как и ранее, $$y_0 \equiv 0$$ и $$y_1 \equiv 1$$. Функция $$y_2 = x$$, а функция $$y_3 =\bar x$$ (инверсия $$x$$).
Этим функциям соответствуют определенные технические аналоги. Схема, реализующая зависимость $$y_2 =x$$, называется повторителем, а схема $$y_3 = \bar x$$ - инвертором.
При $$n = 2, N = 16$$, т.е. от двух переменных можно построить шестнадцать различных функций. В табл. 14.5 представлена часть из них, имеющая фундаментальное значение при построении основных схем ЭВМ.
| $$Y_jX1$$ | $$Y0$$ | $$Y1$$ | $$Y2$$ | $$Y3$$ | $$\dots$$ | $$Y4$$ | $$Y5$$ | $$Y6$$ | $$Y7$$ | $$Y8$$ | $$Y9$$ | $$\dots$$ | $$Y15$$ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| $$X2$$ | |||||||||||||
| 00 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | |||
| 01 | 0 | 1 | 0 | 1 | … | 1 | 0 | 0 | 1 | 0 | 1 | … | |
| 10 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | |||
| 11 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
В левой части таблицы перечислены все возможные комбинации входных переменных (наборы значений), а в правой - возможные реак-ции выходных сигналов. В табл. 14.5 представлены функции $$y_0 - y_3$$, полностью соответствующие функциям табл. 14.4, а также новые, часто используемые и интересные функции $$y_4 - y_9$$. При этом местоположение функций и их нумерация в таблице особого значения не имеют. По данной таблице нетрудно составить аналитическое выражение (зависимость) для каждой функции от двух аргументов вида (14.2). Для этого наборы переменных, на которых функция принимает значение единицы, записываются как конъюнкции (логическое умножение) и связываются знаками логического сложения. Такие формы функций получили название дизъюнктивных нормальных форм (ДНФ). Если в этих функциях конъюнкции содержат все без исключения переменные в прямом или инверсном значениях, то такая форма функций называется совершенной.
Функция $$y_4$$ представляет собой функцию логического сложения, дизъюнкцию. Она принимает значение единицы, если значение единицы имеет хотя бы одна переменная $$х_1$$ или $$х_1$$:
$$у_4=x_1 \bar x_2 /vee \bar x_1 x_2 \vee x_1x_2=x_1 \vee x_2$$Тождественность приведенных аналитических зависимостей можно установить, пользуясь законами
Функция $$y_5$$ является инверсной функцией по отношению к $$y_4$$:
$$y_5=\bar y_4=\overline{x_1 \vee x_2}=\bar x_1*\bar x_2$$Она имеет название отрицание дизъюнкции. Иногда в литературе встречается ее специальное название "
Функция $$y_6$$ является функцией логического умножения, конъюнкцией. Она очень похожа на операцию обычного умножения и принимает значение единицы в тех случаях, когда все ее переменные равны единице:
$$y_6=x_1*x_2$$Функция $$y_7$$ является инверсной функцией по отношению $$y_6$$:
$$y_7=\bar y_6=\overline{x_1*x_2}=\bar x_1\vee \bar x_2$$Она называется отрицание конъюнкции или "
Функция $$y_8$$ называется логической равнозначностью, она принимает значение единицы, если все ее переменные имеют одинаковое значение (или 0 или 1):
$$y_4=\bar x_1*\bar x_2 \vee x_1*x_2$$Функция $$y_9$$ является инверсной по отношению $$y_8$$ и называется не-равнозначностью:
$$y_9=\bar y_8=\overline{\bar x_1*\bar x_2 \vee x_1*x_2}=\bar x_1*x_2 \vee x_1* \bar x_2$$Она принимает значение единицы, если ее переменные имеют противоположные значения. Функции $$y_8$$ и $$y_9$$ являются основой для построения сумматоров, так как они соответствуют правилам формирования цифр двоичных чисел при сложении и вычитании (табл. 14.2).
Из перечисленных функций двух переменных можно строить сколь угодно сложные зависимости, отражающие алгоритмы преобразования информации, которая представлена в
Из определения вышеприведенных функций можно установить целый ряд простейших свойств:
$$x \vee 1=1\;\; x*0=0\\ x \vee \bar x=1\; \; x*1=x\;\; x \vee x \vee \dots \vee x=x\\ x \vee 0=x \;\; x* \bar x=0\;\; x*x*\dots*x=x\\ x \vee x=x \;\; x*x=x$$В
коммутативный (переместительный)
$$x_1*x_2=x_2*x_1 \;\; x_1 \vee x_2=x_2 \vee x_1$$ассоциативный (сочетательный)
$$(x_1*x_2)*x_3=(x_1*x_3)*x_2=x_1*(x_2*x_3) \;\; (x_1 \vee x_2) \vee x_3=x_1 \vee (x_2 \vee x_3)$$Эти законы полностью идентичны законам обычной алгебры;
дистрибутивный (распределительный)
$$x_1*(x_2 \vee x_3)=x_1*x_2 \vee x_1*x_3\\ X_1 \vee x_2*x_3=(x_1 \vee x_2)(x_1 \vee x_3);$$закон поглощения. В дизъюнктивной форме ЛФ конъюнкция меньшего ранга, т.е. с меньшим числом переменных, поглощает все конъюнкции большего ранга, если ее изображение содержится в них. Это же справедливо и для конъюнктивных форм:
$$x_1 \vee x_1*x_2=x_1 \;\; x_1*(x_1 \vee x_2)=x_1;$$закон склеивания
$$x_1x_2 \vee x_1 \bar x_2=x_1 \;\; (x_1 \vee x_2)(x_1 \vee \bar x_2)=x_1,\\ Fx \vee F \bar x =F \;\; (x \vee F)(\bar x \vee F)=F$$где $$F$$ - логическая функция общего вида, не зависящая от переменной $$x$$;
закон свертки
$$x \vee \bar x F=x \vee F \;\; x(\bar x \vee F)=xF;$$правило де Моргана
$$\overline{x_1 \vee x_2}= \bar x_1* \bar x_1* \bar x_2 \;\; \overline{x_*x_2}=\bar x_1* \bar x_2$$Убедиться в тождественности приведенных зависимостей можно путем аналитических преобразований выражений, находящихся в левой и правой частях, или путем построения таблицы истинности для ЛФ.
Используя данные законы, можно преобразовывать исходные выражения в более простые (минимизировать их). По упрощенным выражениям можно построить техническое устройство, имеющее минимальные аппаратурные затраты.
По логическим выражениям проектируются схемы ЭВМ. При этом следует придерживаться следующей последовательности действий.
Покажем взаимосвязь перечисленных этапов на примере.
Пример 14.13. Спроектировать схему, фиксирующую появление "неправильной" тетрады в двоично-десятичном представлении чисел.
Составим таблицу истинности функции (рис.14.2), которая принимает значения, равные единице, при появлении "неправильных" тетрад. Разряды тетрады обозначим переменными $$x, y, z, u$$.
(рис 14.2) Таблица истинности функции F
Исходная совершенная
Минимальная форма функции $$F$$ в логически полном базисе $$\{, \vee, \lceil\}$$ будет иметь вид:
$$F= xy \vee xz = x(y \vee z)$$Для представления этой же схемы в другом полном базисе, например, $$\{\bar {}\}$$, воспользуемся правилом де Моргана:
$$F = xy \vee xz =\overline{\overline xy \vee xz}} = \overline{\overline{xy}*\overline{xz}}$$Проверить работоспособность построенных схем можно путем задания различных комбинаций переменных $$x, y , z, u$$ и определения реакции на выходе схемы $$F$$.
(рис 14.3) Схема фиксации неправильных тетрадИнформация - это сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком или специализированным устройством, например, в компьютере, для обеспечения целенаправленной деятельности.
Информация может быть по своей физической природе числовой, текстовой, графической, звуковой, видео и др. Она также может быть постоянной (не меняющейся), переменной, случайной, вероятностной. Наибольший интерес представляет переменная информация, так как она позволяет выявлять причинно-следственные связи в процессах и явлениях. Существуют различные способы оценки количества информации. Классическим является подход, использующий формулу К. Шеннона. Эта формула учитывает возможную неодинаковую вероятность состояний (сообщений) в наборе
$$I=-\sum_{i=1}^{n}p_i**log_2p_i$$где $$I$$- количество информации;
$$p_i$$ - вероятность того, что именно i-е состояние (сообщение) выделено в наборе из $$n$$ состояний. Применительно к равновероятным исходам она имеет вид (формула Р. Хартли):
$$I = log_2 N,$$где $$I$$- количество информации, несущей представление о состоянии, в котором находится объект;
$$N$$- количество равновероятных альтернативных состояний объекта.
Любая информация, обрабатываемая в компьютере, должна быть представлена двоичными цифрами {0,1}, т.е. должна быть закодирована комбинацией этих цифр. Код - это набор условных обозначений для представления информации, а процесс представления информации с использованием элементов кода называется кодированием. Различные виды информации (числа, тексты, графика, звук) имеют свои правила кодирования. Коды отдельных значений, относящиеся к различным видам информации, могут совпадать. Поэтому расшифровка кодированных данных осуществляется по контексту при выполнении команд программы. Ранее были показаны особенности представления и кодирования числовых данных. Рассмотрим особенности представления в компьютерах других видов информации.
До последнего времени практически все системы связи России, системы передачи аудио- и видеоинформации, включая центральное радио и телевидение, строились на принципах передачи аналоговой информации. Это подразумевало выполнение процедур модуляции (преобразования данных в высокочастотные сигналы при передаче) и демодуляции для обратного преобразования и воспроизведения принятых данных.
С развитием микроэлектроники и компьютерных технологий все большее распространение получают цифровые системы передачи дан-ных. В их основу положены процедуры
По скорости изменения обрабатываемых цифровых данных информацию можно разделить на два вида: статический и динамический. Например, числовая, логическая и символьная информация является статической - ее значение не связано со временем. В отличие от перечисленных типов вся аудиоинформация имеет динамический характер. Она существует только в режиме реального времени, ее нельзя остановить для более подробного изучения. Если изменить масштаб времени (увеличить или уменьшить), аудиоинформация искажается. Это свойство иногда используется для получения звуковых эффектов.
Видеоинформация может быть как статической, так и динамической. Статическая видеоинформация включает текст, рисунки, графики, чертежи, таблицы и др. Рисунки делятся также на плоские - двумерные, и объемные - трехмерные.
Динамическая видеоинформация - это видео-, мульт- и слайдфильмы. В их основе лежит последовательное экспонирование на экране в реальном масштабе времени отдельных кадров в соответствии со сценарием.
Динамическая видеоинформация применяется либо для передачи движущихся изображений (анимация), либо для последовательной де-монстрации отдельных кадров вывода (слайдфильмы).
Для демонстрации анимационных и слайдфильмов используются различные принципы. Анимационные фильмы демонстрируются так, чтобы зрительный аппарат человека не мог зафиксировать отдельные кадры.
При демонстрации слайдфильмов каждый кадр экспонируется на экране столько времени, сколько необходимо для восприятия его человеком (обычно от 30 с. до 1 мин.). Слайдфильмы можно отнести к статической видеоинформации.
По способу формирования видеоизображения бывают растровые, матричные и векторные.
Растровые видеоизображения используются в телевидении, а в компьютерах практически не применяются.
Матричные изображения получили в ЭВМ наиболее широкое распространение. Изображение на экране рисуется электронным лучом в виде точек.
Информация представляется в виде характеристик значений каждой точки - пиксела (), рассматриваемой как наименьшая структурная единица изображения. Количество высвечиваемых одновременно пикселов на экране дисплея определяется его разрешающей способностью. В качестве характеристик графической информации выступают: координаты точки (пиксела) на экране, цвет пиксела, цвет фона (градация яркости). Вся эта информация хранится в видеопамяти дисплея. При выводе графической информации на печать изображение также воспроизводится по точкам.
Изображение может быть и в векторной форме. Тогда оно составляется из отрезков линий (в простейшем случае - прямых), для которых задаются: начальные координаты, угол наклона и длина отрезка (может указываться и код используемой линии). Векторный способ имеет ряд преимуществ перед матричным: изображение легко масштабируется с сохранением формы, является "прозрачным", может быть наложено на любой фон и т.д.
Интенсивное развитие информационных технологий предполагает объединение самых различных систем (компьютерных, сетевых, систем связи, информационных и т.п.) для решения задач формирования, хранения, обработки и преобразования данных. Способы представления информации в отдельных согласованно работающих устройствах, кодирование и преобразование в них кодов зависят от типов данных, принятых стандартов, принципов действия отдельных устройств.
При формировании любого текстового (символьного) документа характерно последовательное использование нескольких видов кодировок и их преобразований. Например, при вводе информации с клавиатуры каждое нажатие клавиши, на которой изображен требуемый символ, вызывает появление так называемого scan -кода, который представляет собой двоичное число, равное порядковому номеру клавиши.
Сам номер нажатой клавиши никак не связан с формой символа, нанесенного на клавише. Опознание символа по его scan-коду и присвоение ему внутреннего кода компьютера производится специальной программой - кодировщиком (драйвером). Соответствие scan-кодов клавиш и кодов представления символов внутри компьютера образует так называемую кодовую таблицу символов. Внутреннее представление символьных данных в компьютере полностью определяется особенностями построения этих кодовых таблиц.
Бурное развитие сетевых технологий, в частности, Интернета, привело к интеграции многих технических, программных и информацион-ных систем с большим количеством стандартов, использующих совершенно разные коды, а соответственно, и разные таблицы кодировок.
Только для русских текстов широко применялись кодировки: KOI-7 и KOI-8r, ASCII, ANSI, Win1251, ISO-8859, кодировка ГОСТ - альтернативная (СР866) и др.
Стандарты КОИ-7 (код обмена информацией, 7-ми битовый) и KOI-8r (восьмибитовый) используются, в основном, в почтовых сообщениях, в E-mail. Они были широко распространены и продолжают применяться на постсоветском пространстве.
До недавнего времени, когда удельный вес приложений MS DOS был определяющим, наиболее часто использовался стандарт ASCII (American Standard Code for Information Interchange) - американский стандартный код передачи информации.
Появление операционной среды Windows с графическим интерфейсом потребовало изменения стандарта и введения другой кодовой таблицы - таблицы ANSI (American National Standard Institute - Американский институт национальных стандартов). Графический интерфейс Windows реализует векторный принцип отображения данных на экране дисплея, что позволяет использовать масштабируемые шрифты True Type. По сравнению с таблицей ASCII в ANSI изменилось размещение символов и отсутствуют символы псевдографики, так как в графическом интерфейсе они не нужны. С учетом успехов фирмы Microsoft в продажах на российском рынке своего программного обеспечения, фирмой была разработана русская кодовая страница CP-1251 (Windows-1251), получившая широкое признание и ставшая стандартом de facto.
Кодировка ISO-8859 (кодировка фирмы Sun), хотя и принята в качестве стандарта ГОСТа, но практически в стандартных приложениях не применяется.
Обилие кодовых страниц привело к трудностям адекватного воспроизведения текстовой информации, разработке различных программ-перекодировщиков. Сообщество фирм Unicode предложило новую систему кодирования, основанную на 16-разрядном кодировании символов. В двухбайтовом представлении отпадает необходимость в использовании отдельных кодовых таблиц и их перекодировок. Таблица Unicode позволяет дать уникальный номер любому символу всех национальных алфавитов ($$2^{16}=65536$$ символов). Для компенсации возрастающих объемов памяти под программные продукты, представленные в Unicode, при хранении и пересылках файлов применяются процедуры "сжатия" (архивации) данных. Этот стандарт приобретает все большую популярность.
Методы кодирования графики и цвета во многом определяются способами передачи цвета и его оттенков (полутонов). Для формирования цвета отдельных пикселов применяется его декомпозиция на составляющие цвета. Имеется несколько подобных систем:
RGB (Red, Green, Blue) - использует разложение цвета и смешение трех цветов (красного, зеленого и синего) в различных пропорциях;CMY (Cyan, Magenta, Yellow) - смешение бирюзового, фиолетового и желтого цветов;CMYK, использующая добавление к предыдущей системе четвертого цвета - черного (blaK).Если для передачи оттенков (полутонов) каждого из основных цветов задействовать один байт (28=256 градаций), то появится возможность формировать $$2^8*2^8*2^8=2^{24}$$ различных цветов, более $$16,77*10^6$$ цветов для первых двух систем и более $$4*10^9$$ для полиграфической системы. Такой режим представления графики называется полноцветным - $$True Color$$.
Статические кадры с графикой служат основой для создания анимационных систем. В современных высококачественных мониторах и в телевизорах с цифровым управлением электронно-лучевой трубкой цветные кадры с графикой сменяются 70 и более раз в секунду, что позволяет высококачественно передавать движение объектов.
Высокое качество передачи графических образов и видеоинформации сопряжено с повышенным потреблением ресурсов памяти. Поэтому разработан ряд стандартов, создающих файлы в форматах *.bmp, *.jpg, *.png и др. Различие всех этих стандартов и файлов заключается в качестве (точности) передачи образов и объемах создаваемых файлов.
Кодирование аудиоинформации - процесс более сложный. Изначально аудиоинформация является аналоговой. Для преобразования ее в цифровую форму используют аппаратные средства - аналого-цифровые преобразователи (АЦП), в результате работы которых аналоговый сигнал оцифровывается, т.е. представляется в виде числовой последовательности. Для вывода оцифрованного звука на аудиоустройства необходимо проводить обратное преобразование, которое осуществляется с помощью цифро-аналоговых преобразователей (ЦАП).
Одним из самых популярных стандартов для передачи и воспроизведения звука был и остается MP3, обеспечивающий компактность MP3-файлов, высокое качество звука и простоту применения. Однако держатели патентов корпорация Thomson и Frauenhofer Institut ввели новый платный порядок использования стандарта, что немедленно вызвало разработку альтернативных бесплатных стандартов.
Системой счисления называется способ изображения чисел с помощью ограниченного набора символов, имеющих определенные количественные значения. Систему счисления образует совокупность правил и приемов представления чисел с помощью набора знаков (цифр).
Различают позиционные и непозиционные системы счисления. В позиционных системах каждая цифра числа имеет определенный вес, который зависит от позиции цифры в последовательности, изображающей число. Позиция цифры называется разрядом. В
где $$a_i$$ - $$i$$-я цифра числа;
$$k$$ - количество цифр в дробной части числа;
$$m$$ - количество цифр в целой части числа;
$$N$$ - основание системы счисления.
Основание системы счисления $$N$$ показывает, во сколько раз "вес" $$i$$-го разряда больше ($$i-1$$) разряда. Целая часть числа отделяется от дробной части точкой (запятой).
Пример 14.1. $$A_{10}=37.25$$.
В соответствии с формулой (14.1) это число формируется из цифр с весами разрядов:
$$A_{10}=3-10^1+7-10^0+2-10^{-1} + 5-10^{-2}$$Теоретически наиболее экономичной системой счисления для представления значения числа цифрами является система с основанием $$е =2,71828\dots$$, находящимся между числами 2 и 3.
Во всех современных ЭВМ для представления числовой информации применяется
При $$N=2$$ число различных цифр, используемых для записи чисел, ограничено множеством из двух цифр (нуль и единица). Кроме двоичной системы счисления, широкое распространение получили и производные системы:
Восьмеричная и шестнадцатеричная системы счисления являются производными от двоичной, так как $$16=2^4$$ и $$8=2^3$$. Они применяются в основном для более компактного изображения двоичной информации, так как запись значения чисел производится существенно меньшим числом знаков
Пример 14.2. Число $$A_{10}=100.625$$ в двоичной, восьмеричной и шестнадцатеричной системах счисления имеют следующее представление:
$$А_2 =1100100.101;\\ A_8=144.5;\\ А_{16} = 64.А;\\ A_2=1*2^6+1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+0*2^0+1*2^{-1}+0*2^{-2}+1*2^{-3};\\ A_8 =1*8^2+4*8^1+4*8^0+5*8^{-1};\\ A_{16} =6*16'+4*16^0+10*16^{-1}.$$В табл. 14.1 приведено сравнительное представление чисел в различных системах счисления: десятичной (10 с/с), двоичной (2 с/с), восьмеричной (8 с/с) и шестнадцатеричной (16 с/с).
По данным этой таблицы можно выявить целый ряд закономерностей:
незначащие нули слева от целой части и справа от дробной части числа не изменяют значений чисел;
| 10c/c | 2c/c | 8c/c | 16c/c | 10c/c | 2c/c | 8c/c | 16c/c |
| Целые числа | Целые числа | ||||||
| 0 | 00000 | 0 | 0 | 10 | 01010 | 12 | A |
| 1 | 00001 | 1 | 1 | 11 | 01011 | 13 | B |
| 2 | 00010 | 2 | 2 | 12 | 01100 | 14 | C |
| 3 | 00011 | 3 | 3 | 13 | -1101 | 15 | D |
| 4 | 00100 | 4 | 4 | 14 | 01110 | 16 | E |
| 5 | 00101 | 5 | 5 | 15 | 01111 | 17 | F |
| 6 | 00110 | 6 | 6 | 16 | 10000 | 20 | 10 |
| 7 | 00111 | 7 | 7 | 17 | 10001 | 21 | 11 |
| 8 | 01000 | 10 | 8 | 18 | 10010 | 22 | 12 |
| 9 | 01001 | 11 | 9 | и.т.д. | |||
| Дробные числа | Дробные числа | ||||||
| 0.5 | 0.1 | 0.4 | 0.8 | 0.0625 | 0.0001 | 0.04 | 0.1 |
| 0.25 | 0.01 | 0.2 | 0.4 | 0.03125 | 0.00001 | 0.02 | 0.08 |
| 0.125 | 0.001 | 0.1 | 0.2 | и т.д. | |||
В ЭВМ перевод из одной системы в другую осуществляется автоматически, по специальным программам. Правила перевода целых и дробных чисел отличаются.
Необходимо сделать несколько замечаний. В общем случае перевод любого числа с дробью из одной системы счисления в другую может привести к появлению иррациональных чисел, имеющих бесконечное количество разрядов в дробной части чисел. Естественно, что любое техническое устройство, например компьютер, может оперировать только с конечным числом цифр, являющихся старшими, наиболее значимыми разрядами.
Игнорирование, отбрасывание младших разрядов чисел приводит к их округлению. При этом разница между округляемым и полученным числами называется ошибкой округления. Следует учитывать, что округление результатов вычислений по любому неслучайному правилу приводит к ошибкам с ненулевым смещением [83].
Целое число с основанием $$N1$$ переводится в систему счисления с основанием $$N2$$ путем последовательного деления числа $$A_{Ni}$$ на основание $$N2$$, записанного в виде числа с основанием $$N1$$, до получения остатка. Полученное частное следует вновь делить на основание $$N2$$, и этот процесс надо повторять до тех пор, пока частное не станет меньше делителя.
Полученные остатки от деления и последнее частное записываются в порядке, обратном полученному при делении. Сформированное число и будет являться числом с основанием $$N2$$.
Пример 14.3. $$A_{10}=37, A_2=?, A_{16}=?$$
Дробное число с основанием $$N1$$ переводится в систему счисления с основанием $$N2$$ путем последовательного умножения <<Eqn010.eps>> на основание $$N2$$, записанное в виде числа с основанием $$N1$$. При каждом умножении целая часть произведения берется в виде очередной цифры соответствующего разряда, а оставшаяся дробная часть принимается за новое множимое. Число умножений определяет разрядность полученного результата, представляющего число $$A_{Ni}$$ в системе счисления $$N2$$.
Пример 14.4. $$A_{10}=0.625; A_2=?; A_8=?; A_{16}=?$$
Так как двоичная, восьмеричная и шестнадцатеричная системы связаны через степени числа 2, то преобразования между ними можно вы-полнять другим, более простым способом. Для перевода из шестнадцатеричной (
В компьютерах используются три вида чисел: с фиксированной точкой (запятой), с плавающей точкой (запятой) и двоично-десятичное представление. Точка (запятая) - это подразумеваемая граница целой и дробной частей числа, разряды $$k$$ и$$т$$ формулы (4.1).
Все современные компьютеры имеют центральный процессор или центральное процессорное устройство - CPU (CPU служит простота алгоритмов выполнения операций и, соответственно, высокая скорость операций.
У чисел с фиксированной точкой в двоичном формате предполагается строго определенное место точки (запятой). Обычно это место определяется или перед первой цифрой числа, или после последней цифры числа. Если точка фиксируется перед первой значащей цифрой, то это означает, что число по модулю меньше единицы. Диапазон изменения значений чисел определяется неравенством:
$$2^{-n} \le |A_2| \le 1-26{-n}$$Если точка фиксируется после последней цифры, то это означает, что $$n$$-разрядные двоичные числа являются целыми. Диапазон изменения их значений составляет:
$$- \le |A_2| \le 2^n-1$$Перед самым старшим из возможных цифровых разрядов двоичного числа фиксируется его знак. Положительные числа имеют нулевое значение знакового разряда, отрицательные - единичные. Каждая цифра двоичного числа $$\{0,1\}$$ занимает один бит соответствующего $$n$$-разрядного формата.
Существенным недостатком представления чисел с фиксированной точкой служит тот факт, что аппроксимация малых чисел связана с большой относительной ошибкой. Для чисел же, приближающихся по величине к максимально возможным ($$2n$$), относительная ошибка уменьшается. Абсолютная же ошибка представления чисел с фиксированной точкой всегда лежит в одних и тех же пределах независимо от величины чисел.
Другой формой представления чисел является представление их в виде чисел с плавающей точкой (запятой). Представление чисел с плавающей точкой необходимо использовать, когда обрабатываемые числа имеют очень большой диапазон изменения. Эта ситуация типична для научно-технических расчетов (тригонометрические, экспоненты, логарифмы). Поэтому все современные микропроцессоры в качестве дополнения к CPU имеют (NPX (CPU и позволяет добиться большей скорости и большей точности вычислений.
Числа с плавающей точкой представляются в виде
что соответствует записи
$$A_2=2^{\pm p_a}*(\pm m_a)$$Детализация
Все современные ЭВМ имеют достаточно развитую систему команд, включающую десятки и сотни машинных операций. Однако выполнение любой операции основано на использовании простейших
| Значения двоичных чисел А и В | Разряд суммы | Перенос в следующий разряд | ||
|---|---|---|---|---|
| $$a_i$$ | $$b_i$$ | $$p_{i-1}$$ | $$S_i$$ | $$P_i$$ |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Здесь показаны правила сложения двоичных цифр $$a_i$$, $$b_i$$ одноименных разрядов с учетом возможных переносов из предыдущего разряда $$p_{i-1}$$.
Подобные таблицы можно было бы построить для любой другой арифметической и логической операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу выполнения любой операции ЭВМ. Под знак чисел отводится специальный знаковый разряд. Знак "+" кодируется двоичным нулем, а знак "-" - единицей. Действия над прямыми кодами двоичных чисел при выполнении операций создают большие трудности, связанные с необходимостью учета значений знаковых разрядов:
Во всех ЭВМ без исключения все операции выполняются над числами, представленными специальными машинными кодами. Их использование позволяет обрабатывать знаковые разряды чисел так же, как и цифровые разряды, а также заменять операцию вычитания операцией сложения.
Различают прямой код (П),
Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или единица) перед его старшим числовым разрядом.
Пример 14.5.
$$A_{10} = +10\; A_2 = +1010\; [А_2]_п=0 \vdots 1010; \\ B_{10}=-15\; B_2=-1111 \; [B_2]_n=1 \vdots 1111$$Точечной вертикальной линией здесь отмечена условная граница, отделяющая знак от цифровых разрядов.
Обратный код двоичного числа образуется по следующему правилу.
Пример 14.6.
$$А_{10} = +5\; А_2=+101\; [А_2]_n=[А_2]_{ОК} = 0 \vdots 101; \\ В_{10}=-13\; В_2=-1101\; [B_2]_{0K}=1 \vdots 0010.$$Свое название
Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет собой результат суммирования обратного кода числа с единицей младшего разряда ($$2^0$$- для целых чисел, $$2^{-k}$$ - для дробных).
Пример 14.7.
$$А_{10} =+19\; A_2=+10011\; [A_2]_n=[A_2]_{OK}=[A_2]_{ДК}=0 \vdots 10011;\\ B_{10}=-13\; B_2=-11-1\; [B_2]_{ДК}=[B_2]_{OK}+2^0=1 \vdots 0010+1=1 \vdots 0011$$Укажем основные свойства дополнительного кода.
Сложение дополнительных кодов положительного числа $$С$$ с его отрицательным значением дает так называемую машинную единицу дополнительного кода:
$$МЕ_{дк}=МЕ_{ок}+20=10 \vdots 00\dots 00,$$т. е. число 10 (два) в знаковых разрядах числа.
Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак "+" в этих кодах кодируется двумя нулевыми знаковыми разрядами, а "-" - двумя единичными разрядами.
Пример 14.8.
$$А_{10} = 9;\; A_2=+1001;\; [A_2]_n=[A_2]_{ок}=[A_2]_{ДK}= 0 \vdots 1001;\\ \[[A_2\]]_{мок}=[A_2]_{мдк}=00 \vdots 1001;\\ В_{10}=- 9;\; В_2 =-1001;\; [В_2]_{ок}= 1 \vdots 0110 \; [B_2]_{ДК}=1\vdots 0111;\\ \[[B_2\]]_{мок}=11 \vdots 0110; [B_2]_{МДК}=11 \vdots 0111.$$Целью введения
Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный (ОК) или дополнительный (ДК) код. Пусть числа $$А \ge 0$$ и $$В \ge 0$$, тогда операция алгебраического сложения выполняется в соответствии с табл. 14.3.
| Требуемая операция | Необходимое преобразование |
|---|---|
| $$A+B$$ | $$A+B$$ |
| $$A-B$$ | $$A+(-B)$$ |
| $$-A+B$$ | $$ (-A)+B$$ |
| $$-A-B$$ | $$ (-A)+(-B)$$ |
Зависимости, представленные в правой части таблицы, указывают на замену операции вычитания операцией сложения с обратным или дополнительным кодом соответствующего числа. Сложение двоичных чисел осуществляется последовательно, поразрядно в соответствии с табл. 14.2. При выполнении сложения цифр необходимо соблюдать следующие правила.
Пример 14.9. Сложить два числа $$A_{10}= 7; B_{10}= 16$$.
$$A_2 = +111 = +0111; \\ B_2 = + 1000 = + 10000.$$Исходные числа имеют различную разрядность, и необходимо провести выравнивание разрядной сетки:
$$[A_2]_п =[A_2]_{ок}= [A_2]_{ДК}=0 \vdots 00111;\\ \[[B_2\]]_п=[B_2]_{ок}=[B_2]_{ДК}=0 \vdots 10000.$$Сложение в обратном или дополнительном кодах дает один и тот же результат:
$$\frac{\begin{matrix}0\;\vdots\;00111\\+0\;\vdots\; 10000 \end{matrix}}{C_2=0 \;\vdots\; 10111_2}\\C_{10}=+23$$Обратим внимание, что при сложении цифр отсутствуют переносы в знаковый разряд и из знакового разряда, что свидетельствует о получении правильного результата.
Пример 14.10. Сложить два числа $$A_{10}= +16;\;B_{10}=-7$$ в ОК и ДК. В соответствии с табл. 14.3 должна быть реализована зависимость $$A+(-B)$$, в которой второй член преобразуется с учетом знака
$$[A_2]_п=0\; \vdots \; 10000=0 \; \vdots \;10000;\;[A_2]_{oк}=0 \vdots \; 10000;\; [A_2]={ДК}=0 \; \vdots \; 10000\\ \[[B_2\]] _п=1\;\vdots111=1\;\vdots\;00111;\; [B_2]_{ок}=1\;\vdots \;11000;\;[B_2]_{ДК}=1\;\vdots\;11001$$
При сложении чисел в ОК и ДК были получены переносы в знаковый разряд и из знакового разряда. В случае ОК перенос из знакового разряда требует дополнительного прибавления единицы младшего разряда (см. п. 4. правил). В случае ДК этот перенос игнорируется.
Умножение. Умножение двоичных чисел наиболее просто реализуется в прямом коде. Рассмотрим, каким образом оно приводится к операциям сложения и сдвигам.
Пример 14.11. Умножить два числа $$A_{10}=7;\; B_{10}=5$$. Перемножим эти числа, представленные прямыми двоичными кодами, так же, как это делается в десятичной системе.
Нетрудно видеть, что произведение получается путем сложения частных произведений, которые представляют собой разряды множимого, сдвинутые влево в соответствии с позициями разрядов множителя. Частные произведения, полученные умножением на нуль, игнорируются. Важной особенностью операции умножения n-разрядных сомножителей является увеличение разрядности произведения до $$n+n=2n$$. Знак произведения формируется путем сложения знаковых разрядов сомножителей. Возможные переносы из знакового разряда игнорируются.
Деление. Операция деления, как и в десятичной арифметике, является обратной операции умножения. Покажем, что и эта операция приводится к последовательности операций сложения и сдвига.
Пример 14.12. Разделить два числа $$A_{10}=45;\; B_{10}=5$$.
$$[А_2]_п= 101101\\ \[[B_2\]]_п=101$$
Деление произведено так же, как это делается обычно в десятичной системе. Сначала проверяется, можно ли вычесть значение делителя из старших разрядов
Знак частного формируется также путем сложения знаковых разрядов
Теоретической основой построения ЭВМ служат специальные математические дисциплины. Одной из них является
Вся информация в ЭВМ представляется в
В этом случае зависимостями
$$y_J=f{x_l,x_2,\dots,x_i,\dots,x_n),$$где $$x_i$$ -$$ i$$- й вход;
$$n$$ - число входов;
$$y_j$$ -$$j$$-й выход;
$$т$$ - число выходов в устройстве, можно описывать алгоритм работы любого устройства ЭВМ. Каждая такая зависимость $$у_j$$ является "булевой функцией, у которой число возможных состояний и каждой ее независимой переменной равно двум" (стандарт ISO 2382/2-76), т.е. функцией
(рис 14.1) Входные и выходные сигналы в схемах компьютера
Известно, что количество всевозможных функций $$N$$ от $$n$$ аргументов выражается зависимостью:
$$N=2^{2^n}$$При $$n = 0$$ можно определить две основные функции ($$N = 2$$), не зависящие от каких-либо переменных: $$y_0$$, тождественно равную нулю ($$y_0 \equiv 0$$), и $$y_1$$, тождественно равную единице ($$y_1 \equiv 1$$). Технической интерпретацией функции $$y_1 \equiv 1$$ может быть
При $$n=1$$ зависимость (14.3) дает $$N=4$$. Представим зависимость значений этих функций от значения аргумента $$x$$ в виде специальной таблицы истинности (табл. 14.4).
| $$X$$ | $$Y_j$$ | $$Y0$$ | $$Y1$$ | $$Y2$$ | $$Y3$$ |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | |
| 1 | 0 | 1 | 1 | 0 | |
Таблицы истинности получили такое название, потому что они определяют значение функции в зависимости от комбинации входных сиг-налов. В этой таблице, как и ранее, $$y_0 \equiv 0$$ и $$y_1 \equiv 1$$. Функция $$y_2 = x$$, а функция $$y_3 =\bar x$$ (инверсия $$x$$).
Этим функциям соответствуют определенные технические аналоги. Схема, реализующая зависимость $$y_2 =x$$, называется повторителем, а схема $$y_3 = \bar x$$ - инвертором.
При $$n = 2, N = 16$$, т.е. от двух переменных можно построить шестнадцать различных функций. В табл. 14.5 представлена часть из них, имеющая фундаментальное значение при построении основных схем ЭВМ.
| $$Y_jX1$$ | $$Y0$$ | $$Y1$$ | $$Y2$$ | $$Y3$$ | $$\dots$$ | $$Y4$$ | $$Y5$$ | $$Y6$$ | $$Y7$$ | $$Y8$$ | $$Y9$$ | $$\dots$$ | $$Y15$$ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| $$X2$$ | |||||||||||||
| 00 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | |||
| 01 | 0 | 1 | 0 | 1 | … | 1 | 0 | 0 | 1 | 0 | 1 | … | |
| 10 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | |||
| 11 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
В левой части таблицы перечислены все возможные комбинации входных переменных (наборы значений), а в правой - возможные реак-ции выходных сигналов. В табл. 14.5 представлены функции $$y_0 - y_3$$, полностью соответствующие функциям табл. 14.4, а также новые, часто используемые и интересные функции $$y_4 - y_9$$. При этом местоположение функций и их нумерация в таблице особого значения не имеют. По данной таблице нетрудно составить аналитическое выражение (зависимость) для каждой функции от двух аргументов вида (14.2). Для этого наборы переменных, на которых функция принимает значение единицы, записываются как конъюнкции (логическое умножение) и связываются знаками логического сложения. Такие формы функций получили название дизъюнктивных нормальных форм (ДНФ). Если в этих функциях конъюнкции содержат все без исключения переменные в прямом или инверсном значениях, то такая форма функций называется совершенной.
Функция $$y_4$$ представляет собой функцию логического сложения, дизъюнкцию. Она принимает значение единицы, если значение единицы имеет хотя бы одна переменная $$х_1$$ или $$х_1$$:
$$у_4=x_1 \bar x_2 /vee \bar x_1 x_2 \vee x_1x_2=x_1 \vee x_2$$Тождественность приведенных аналитических зависимостей можно установить, пользуясь законами
Функция $$y_5$$ является инверсной функцией по отношению к $$y_4$$:
$$y_5=\bar y_4=\overline{x_1 \vee x_2}=\bar x_1*\bar x_2$$Она имеет название отрицание дизъюнкции. Иногда в литературе встречается ее специальное название "
Функция $$y_6$$ является функцией логического умножения, конъюнкцией. Она очень похожа на операцию обычного умножения и принимает значение единицы в тех случаях, когда все ее переменные равны единице:
$$y_6=x_1*x_2$$Функция $$y_7$$ является инверсной функцией по отношению $$y_6$$:
$$y_7=\bar y_6=\overline{x_1*x_2}=\bar x_1\vee \bar x_2$$Она называется отрицание конъюнкции или "
Функция $$y_8$$ называется логической равнозначностью, она принимает значение единицы, если все ее переменные имеют одинаковое значение (или 0 или 1):
$$y_4=\bar x_1*\bar x_2 \vee x_1*x_2$$Функция $$y_9$$ является инверсной по отношению $$y_8$$ и называется не-равнозначностью:
$$y_9=\bar y_8=\overline{\bar x_1*\bar x_2 \vee x_1*x_2}=\bar x_1*x_2 \vee x_1* \bar x_2$$Она принимает значение единицы, если ее переменные имеют противоположные значения. Функции $$y_8$$ и $$y_9$$ являются основой для построения сумматоров, так как они соответствуют правилам формирования цифр двоичных чисел при сложении и вычитании (табл. 14.2).
Из перечисленных функций двух переменных можно строить сколь угодно сложные зависимости, отражающие алгоритмы преобразования информации, которая представлена в
Из определения вышеприведенных функций можно установить целый ряд простейших свойств:
$$x \vee 1=1\;\; x*0=0\\ x \vee \bar x=1\; \; x*1=x\;\; x \vee x \vee \dots \vee x=x\\ x \vee 0=x \;\; x* \bar x=0\;\; x*x*\dots*x=x\\ x \vee x=x \;\; x*x=x$$В
коммутативный (переместительный)
$$x_1*x_2=x_2*x_1 \;\; x_1 \vee x_2=x_2 \vee x_1$$ассоциативный (сочетательный)
$$(x_1*x_2)*x_3=(x_1*x_3)*x_2=x_1*(x_2*x_3) \;\; (x_1 \vee x_2) \vee x_3=x_1 \vee (x_2 \vee x_3)$$Эти законы полностью идентичны законам обычной алгебры;
дистрибутивный (распределительный)
$$x_1*(x_2 \vee x_3)=x_1*x_2 \vee x_1*x_3\\ X_1 \vee x_2*x_3=(x_1 \vee x_2)(x_1 \vee x_3);$$закон поглощения. В дизъюнктивной форме ЛФ конъюнкция меньшего ранга, т.е. с меньшим числом переменных, поглощает все конъюнкции большего ранга, если ее изображение содержится в них. Это же справедливо и для конъюнктивных форм:
$$x_1 \vee x_1*x_2=x_1 \;\; x_1*(x_1 \vee x_2)=x_1;$$закон склеивания
$$x_1x_2 \vee x_1 \bar x_2=x_1 \;\; (x_1 \vee x_2)(x_1 \vee \bar x_2)=x_1,\\ Fx \vee F \bar x =F \;\; (x \vee F)(\bar x \vee F)=F$$где $$F$$ - логическая функция общего вида, не зависящая от переменной $$x$$;
закон свертки
$$x \vee \bar x F=x \vee F \;\; x(\bar x \vee F)=xF;$$правило де Моргана
$$\overline{x_1 \vee x_2}= \bar x_1* \bar x_1* \bar x_2 \;\; \overline{x_*x_2}=\bar x_1* \bar x_2$$Убедиться в тождественности приведенных зависимостей можно путем аналитических преобразований выражений, находящихся в левой и правой частях, или путем построения таблицы истинности для ЛФ.
Используя данные законы, можно преобразовывать исходные выражения в более простые (минимизировать их). По упрощенным выражениям можно построить техническое устройство, имеющее минимальные аппаратурные затраты.
По логическим выражениям проектируются схемы ЭВМ. При этом следует придерживаться следующей последовательности действий.
Покажем взаимосвязь перечисленных этапов на примере.
Пример 14.13. Спроектировать схему, фиксирующую появление "неправильной" тетрады в двоично-десятичном представлении чисел.
Составим таблицу истинности функции (рис.14.2), которая принимает значения, равные единице, при появлении "неправильных" тетрад. Разряды тетрады обозначим переменными $$x, y, z, u$$.
(рис 14.2) Таблица истинности функции F
Исходная совершенная
Минимальная форма функции $$F$$ в логически полном базисе $$\{, \vee, \lceil\}$$ будет иметь вид:
$$F= xy \vee xz = x(y \vee z)$$Для представления этой же схемы в другом полном базисе, например, $$\{\bar {}\}$$, воспользуемся правилом де Моргана:
$$F = xy \vee xz =\overline{\overline xy \vee xz}} = \overline{\overline{xy}*\overline{xz}}$$Проверить работоспособность построенных схем можно путем задания различных комбинаций переменных $$x, y , z, u$$ и определения реакции на выходе схемы $$F$$.
(рис 14.3) Схема фиксации неправильных тетрадИнформация - это сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком или специализированным устройством, например, в компьютере, для обеспечения целенаправленной деятельности.
Информация может быть по своей физической природе числовой, текстовой, графической, звуковой, видео и др. Она также может быть постоянной (не меняющейся), переменной, случайной, вероятностной. Наибольший интерес представляет переменная информация, так как она позволяет выявлять причинно-следственные связи в процессах и явлениях. Существуют различные способы оценки количества информации. Классическим является подход, использующий формулу К. Шеннона. Эта формула учитывает возможную неодинаковую вероятность состояний (сообщений) в наборе
$$I=-\sum_{i=1}^{n}p_i**log_2p_i$$где $$I$$- количество информации;
$$p_i$$ - вероятность того, что именно i-е состояние (сообщение) выделено в наборе из $$n$$ состояний. Применительно к равновероятным исходам она имеет вид (формула Р. Хартли):
$$I = log_2 N,$$где $$I$$- количество информации, несущей представление о состоянии, в котором находится объект;
$$N$$- количество равновероятных альтернативных состояний объекта.
Любая информация, обрабатываемая в компьютере, должна быть представлена двоичными цифрами {0,1}, т.е. должна быть закодирована комбинацией этих цифр. Код - это набор условных обозначений для представления информации, а процесс представления информации с использованием элементов кода называется кодированием. Различные виды информации (числа, тексты, графика, звук) имеют свои правила кодирования. Коды отдельных значений, относящиеся к различным видам информации, могут совпадать. Поэтому расшифровка кодированных данных осуществляется по контексту при выполнении команд программы. Ранее были показаны особенности представления и кодирования числовых данных. Рассмотрим особенности представления в компьютерах других видов информации.
До последнего времени практически все системы связи России, системы передачи аудио- и видеоинформации, включая центральное радио и телевидение, строились на принципах передачи аналоговой информации. Это подразумевало выполнение процедур модуляции (преобразования данных в высокочастотные сигналы при передаче) и демодуляции для обратного преобразования и воспроизведения принятых данных.
С развитием микроэлектроники и компьютерных технологий все большее распространение получают цифровые системы передачи дан-ных. В их основу положены процедуры
По скорости изменения обрабатываемых цифровых данных информацию можно разделить на два вида: статический и динамический. Например, числовая, логическая и символьная информация является статической - ее значение не связано со временем. В отличие от перечисленных типов вся аудиоинформация имеет динамический характер. Она существует только в режиме реального времени, ее нельзя остановить для более подробного изучения. Если изменить масштаб времени (увеличить или уменьшить), аудиоинформация искажается. Это свойство иногда используется для получения звуковых эффектов.
Видеоинформация может быть как статической, так и динамической. Статическая видеоинформация включает текст, рисунки, графики, чертежи, таблицы и др. Рисунки делятся также на плоские - двумерные, и объемные - трехмерные.
Динамическая видеоинформация - это видео-, мульт- и слайдфильмы. В их основе лежит последовательное экспонирование на экране в реальном масштабе времени отдельных кадров в соответствии со сценарием.
Динамическая видеоинформация применяется либо для передачи движущихся изображений (анимация), либо для последовательной де-монстрации отдельных кадров вывода (слайдфильмы).
Для демонстрации анимационных и слайдфильмов используются различные принципы. Анимационные фильмы демонстрируются так, чтобы зрительный аппарат человека не мог зафиксировать отдельные кадры.
При демонстрации слайдфильмов каждый кадр экспонируется на экране столько времени, сколько необходимо для восприятия его человеком (обычно от 30 с. до 1 мин.). Слайдфильмы можно отнести к статической видеоинформации.
По способу формирования видеоизображения бывают растровые, матричные и векторные.
Растровые видеоизображения используются в телевидении, а в компьютерах практически не применяются.
Матричные изображения получили в ЭВМ наиболее широкое распространение. Изображение на экране рисуется электронным лучом в виде точек.
Информация представляется в виде характеристик значений каждой точки - пиксела (), рассматриваемой как наименьшая структурная единица изображения. Количество высвечиваемых одновременно пикселов на экране дисплея определяется его разрешающей способностью. В качестве характеристик графической информации выступают: координаты точки (пиксела) на экране, цвет пиксела, цвет фона (градация яркости). Вся эта информация хранится в видеопамяти дисплея. При выводе графической информации на печать изображение также воспроизводится по точкам.
Изображение может быть и в векторной форме. Тогда оно составляется из отрезков линий (в простейшем случае - прямых), для которых задаются: начальные координаты, угол наклона и длина отрезка (может указываться и код используемой линии). Векторный способ имеет ряд преимуществ перед матричным: изображение легко масштабируется с сохранением формы, является "прозрачным", может быть наложено на любой фон и т.д.
Интенсивное развитие информационных технологий предполагает объединение самых различных систем (компьютерных, сетевых, систем связи, информационных и т.п.) для решения задач формирования, хранения, обработки и преобразования данных. Способы представления информации в отдельных согласованно работающих устройствах, кодирование и преобразование в них кодов зависят от типов данных, принятых стандартов, принципов действия отдельных устройств.
При формировании любого текстового (символьного) документа характерно последовательное использование нескольких видов кодировок и их преобразований. Например, при вводе информации с клавиатуры каждое нажатие клавиши, на которой изображен требуемый символ, вызывает появление так называемого scan -кода, который представляет собой двоичное число, равное порядковому номеру клавиши.
Сам номер нажатой клавиши никак не связан с формой символа, нанесенного на клавише. Опознание символа по его scan-коду и присвоение ему внутреннего кода компьютера производится специальной программой - кодировщиком (драйвером). Соответствие scan-кодов клавиш и кодов представления символов внутри компьютера образует так называемую кодовую таблицу символов. Внутреннее представление символьных данных в компьютере полностью определяется особенностями построения этих кодовых таблиц.
Бурное развитие сетевых технологий, в частности, Интернета, привело к интеграции многих технических, программных и информацион-ных систем с большим количеством стандартов, использующих совершенно разные коды, а соответственно, и разные таблицы кодировок.
Только для русских текстов широко применялись кодировки: KOI-7 и KOI-8r, ASCII, ANSI, Win1251, ISO-8859, кодировка ГОСТ - альтернативная (СР866) и др.
Стандарты КОИ-7 (код обмена информацией, 7-ми битовый) и KOI-8r (восьмибитовый) используются, в основном, в почтовых сообщениях, в E-mail. Они были широко распространены и продолжают применяться на постсоветском пространстве.
До недавнего времени, когда удельный вес приложений MS DOS был определяющим, наиболее часто использовался стандарт ASCII (American Standard Code for Information Interchange) - американский стандартный код передачи информации.
Появление операционной среды Windows с графическим интерфейсом потребовало изменения стандарта и введения другой кодовой таблицы - таблицы ANSI (American National Standard Institute - Американский институт национальных стандартов). Графический интерфейс Windows реализует векторный принцип отображения данных на экране дисплея, что позволяет использовать масштабируемые шрифты True Type. По сравнению с таблицей ASCII в ANSI изменилось размещение символов и отсутствуют символы псевдографики, так как в графическом интерфейсе они не нужны. С учетом успехов фирмы Microsoft в продажах на российском рынке своего программного обеспечения, фирмой была разработана русская кодовая страница CP-1251 (Windows-1251), получившая широкое признание и ставшая стандартом de facto.
Кодировка ISO-8859 (кодировка фирмы Sun), хотя и принята в качестве стандарта ГОСТа, но практически в стандартных приложениях не применяется.
Обилие кодовых страниц привело к трудностям адекватного воспроизведения текстовой информации, разработке различных программ-перекодировщиков. Сообщество фирм Unicode предложило новую систему кодирования, основанную на 16-разрядном кодировании символов. В двухбайтовом представлении отпадает необходимость в использовании отдельных кодовых таблиц и их перекодировок. Таблица Unicode позволяет дать уникальный номер любому символу всех национальных алфавитов ($$2^{16}=65536$$ символов). Для компенсации возрастающих объемов памяти под программные продукты, представленные в Unicode, при хранении и пересылках файлов применяются процедуры "сжатия" (архивации) данных. Этот стандарт приобретает все большую популярность.
Методы кодирования графики и цвета во многом определяются способами передачи цвета и его оттенков (полутонов). Для формирования цвета отдельных пикселов применяется его декомпозиция на составляющие цвета. Имеется несколько подобных систем:
RGB (Red, Green, Blue) - использует разложение цвета и смешение трех цветов (красного, зеленого и синего) в различных пропорциях;CMY (Cyan, Magenta, Yellow) - смешение бирюзового, фиолетового и желтого цветов;CMYK, использующая добавление к предыдущей системе четвертого цвета - черного (blaK).Если для передачи оттенков (полутонов) каждого из основных цветов задействовать один байт (28=256 градаций), то появится возможность формировать $$2^8*2^8*2^8=2^{24}$$ различных цветов, более $$16,77*10^6$$ цветов для первых двух систем и более $$4*10^9$$ для полиграфической системы. Такой режим представления графики называется полноцветным - $$True Color$$.
Статические кадры с графикой служат основой для создания анимационных систем. В современных высококачественных мониторах и в телевизорах с цифровым управлением электронно-лучевой трубкой цветные кадры с графикой сменяются 70 и более раз в секунду, что позволяет высококачественно передавать движение объектов.
Высокое качество передачи графических образов и видеоинформации сопряжено с повышенным потреблением ресурсов памяти. Поэтому разработан ряд стандартов, создающих файлы в форматах *.bmp, *.jpg, *.png и др. Различие всех этих стандартов и файлов заключается в качестве (точности) передачи образов и объемах создаваемых файлов.
Кодирование аудиоинформации - процесс более сложный. Изначально аудиоинформация является аналоговой. Для преобразования ее в цифровую форму используют аппаратные средства - аналого-цифровые преобразователи (АЦП), в результате работы которых аналоговый сигнал оцифровывается, т.е. представляется в виде числовой последовательности. Для вывода оцифрованного звука на аудиоустройства необходимо проводить обратное преобразование, которое осуществляется с помощью цифро-аналоговых преобразователей (ЦАП).
Одним из самых популярных стандартов для передачи и воспроизведения звука был и остается MP3, обеспечивающий компактность MP3-файлов, высокое качество звука и простоту применения. Однако держатели патентов корпорация Thomson и Frauenhofer Institut ввели новый платный порядок использования стандарта, что немедленно вызвало разработку альтернативных бесплатных стандартов.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.