ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В МИКРОПРОЦЕССОРНЫХ СРЕДСТВАХ. СИСТЕМЫ СЧИСЛЕНИЯ
В "Энциклопедии кибернетики" термин "вычислительная машина" определяется так: "Вычислительная машина – физическая система (устройство или комплекс устройств), предназначенная для механизации и автоматизации процесса алгоритмической обработки информации и вычислений".
Информация определяет многие процессы, происходящие в вычислительной машине. Таким образом, вычислительная машина, в общем случае, получает информацию, запоминает ее, обрабатывает по заданной программе и направляет потребителю (пользователю) или передает в другие системы обработки.
Термин "информация" в широком смысле – это отражение реального мира, а в узком смысле – это любые сведения, являющиеся объектом хранения, передачи и преобразования. С практической же точки зрения информация всегда подается в виде представления о событиях, явлениях природы, о состоянии технологических производственных процессов. Сообщение от источника к приемнику посредством канала передачи поступает в материально-энергетической форме (электрический, световой, звуковой сигнал и т. п.). В этом смысле информационное сообщение можно представить функцией X (t), характеризующей изменение во времени материально-энергетических параметров физической среды, в которой осуществляются информационные процессы.
Рисунок 1.1 – Преобразование непрерывной функции
Цифровые ЭВМ используют дискретные сообщения. При этом переход от непрерывного представления сигнала к дискретному дает значительные преимущества при передаче, хранении и обработке информации. Для этих целей широко используются аналого-цифровые преобразователи, осуществляющие квантование сигнала по уровню и по времени. В первом случае значения уровня сигнала заменяются набором дискретных значений с точностью ΔX (рис. 1.1), во втором – непрерывный сигнал заменяется последовательностью импульсов длительностью τ0, следующих через интервалы времени Δt,
где Fm – максимальная составляющая частоты в спектре непрерывного сигнала.
Совокупность всех выборок образует дискретный или цифровой сигнал. В цифровой технике такой процесс называется кодированием, а совокупность полученных чисел – кодом сигнала. Для записи чисел цифровыми знаками используются позиционные системы счисления.
Понятие о системах счисления. В общем случае система счисления представляет собой совокупность приемов и правил для записи чисел цифровыми знаками (символами). При этом применяемая в практике система счисления должна обеспечивать: запись любого числа в требуемом диапазоне величин; однозначное представление совокупности символов в соответствии с числом; простоту оперирования цифровыми знаками.
Все системы представления чисел делят на непозиционные и позиционные. В первом случае количественный эквивалент цифры не зависит от места ее расположения в записи числа. Так, в римской системе счисления, если цифра, имеющая меньший количественный эквивалент, располагается справа от цифры с большим количественным эквивалентом, то их количественные эквиваленты складываются, если слева то вычитаются.
Например, запись XV соответствует числу 15 (X – десять, V – пять), а запись IX – числу девять.
Непозиционные системы счисления характеризуются очень сложными и громоздкими алгоритмами представления чисел и выполнения арифметических действий и потому в цифровой вычислительной технике применения не нашли.
Во втором случае одна и та же цифра принимает различные числовые значения в зависимости от местоположения (разряда) этой цифры в записи числа. Например, в десятичной системе счисления в записи 737 цифра 7 встречается дважды, однако ее количественный эквивалент в обоих разрядах различен: правая цифра 7 обозначает число единиц – семь, а левая – семьсот.
Любая позиционная система счисления характеризуется основанием. Основание (базис) – число знаков или символов, используемых для представления цифр в данной системе. Возможно бесчисленное множество позиционных систем, так как за основание можно принять любое число, образовав новую систему. В вычислительной технике, например, широко используются шестнадцатеричная система счисления, запись чисел которой производится с помощью цифр и символов (букв) :0, 1,..., 9, A, B, C, D, E, F.
Для позиционной системы счисления справедливо равенство
(1.1)где N – произвольное число, записанное в системе счисления с основанием q;
a – цифры системы счисления;
n, m – число целых и дробных разрядов.
Так, например, сокращенной записи числа 737.25 соответствует его значение, вычисленное согласно равенству (1. 1):
737.25 =7 · 102 + 3 · 101 + 7 · 100 + 2 · 10-1 + 5 · 10-1.
В двоичной системе счисления для представления чисел используются две цифры: 0 и 1. Действуя согласно с (1.1), значение двоичного числа, например, 11110010. 0110 можно представить в следующем виде:
11110010.0110 = 1·27 + 1·26 + 1·25 + 1·24 + 0·23 + 0·22 + 1·21 + 0·20 + 0·2-1 + 1·2-2 + 1·2-3 + 0·2-4.
Очевидно, десятичный эквивалент этого двоичного числа (по правилам десятичной арифметики) будет равен 241. 375.
В табл. 1.1 приведены эквиваленты десятичных цифр в некоторых системах счисления.
Таблица 1.1 – Эквиваленты десятичных цифр
Десятичная цифра | Эквиваленты в системах счисления | Десятичная цифра | Эквиваленты в системах счисления | ||||
q = 2 | q = 8 | q = 16 | q = 2 | q = 8 | Q = 16 | ||
0 | 0 | 0 | 0 | 8 | 1000 | 10 | 8 |
1 | 1 | 1 | 1 | 9 | 1001 | 11 | 9 |
2 | 10 | 2 | 2 | 10 | 1010 | 12 | A |
3 | 11 | 3 | 3 | 11 | 1011 | 13 | B |
4 | 100 | 4 | 4 | 12 | 1100 | 14 | C |
5 | 101 | 5 | 5 | 13 | 1101 | 15 | D |
6 | 110 | 6 | 6 | 14 | 1110 | 16 | E |
7 | 111 | 7 | 7 | 15 | 1111 | 17 | F |
Для записи одного и того же значения в различных системах счисления требуется разное число позиций или разрядов. Чем меньше основание системы, тем больше длина числа (длина разрядной сетки). Если длина разрядной сетки задана, то это ограничивает максимальное по абсолютному значению число, которое можно записать.
Пусть длина разрядной сетки равна любому положительному числу, например, числу К. Тогда
N(q) max = qk - 1. (1.2)
Если же задано максимальное абсолютное значение числа, то длина разрядной сетки
K = log q (N(q)max = 1). (1. 3)
Обычно длина обрабатываемых чисел в ЦВМ ограничена значениями: 1 байт (8 разрядов), 2 байта (16 разрядов), а также 4 и 8 байт.
Преобразования чисел с различными основаниями. Для перевода целых чисел или целых частей неправильных дробей из системы счисления с основанием q1 в новую систему счисления с основанием q2 используется метод, базирующийся на делении переводимого числа на основание новой системы счисления. В соответствии с (1.1) целое число N(q1) в системе с основанием q2 записывается в виде:
N(q2) = bn-1 q2n-1 + bn-2 q2n-2 + …+ b1 q21 + b0 q20. (1. 4)
Представляя (1.4) по схеме Горнера, получим:
N(q2) =(…((( bn-1 q2 + bn-2 )q2 + bn-3) q2…+ b1) q2+ b0 ). (1. 5)
Запись числа N(q2) в виде (1.5) раскрывает сущность используемого метода. Действительно, если разделить правую часть (1.5) на величину основания q2, то получим целую часть (…( bn-1 q2 + bn-2 )q2 +… b1) и остаток b0. Разделив целую часть на q2, найдем второй остаток b1.
Повторяя процесс деления n раз, находим последнее частное bn-1, которое в соответствии с (1.5) является старшей цифрой n разрядного числа, представленного в системе с основанием q1. Перевод чисел арифметическими действиями должен производиться по правилу системы счисления с основанием q1.
Пример 1.1 Перевести десятичное число N=134 в двоичную систему счисления (q2 =2)
Ход решения приведен в табл. 1. 2.
Таблица 1. 2 – Перевод десятичного числа
Шаги | Операция деления | Частное | Остаток (цифра) | Разряд | Примечание |
1 | 134:2 | 67 | 0 | b0 | Младший разряд |
2 | 67:2 | 33 | 1 | b1 | |
3 | 33:2 | 16 | 1 | b2 | |
4 | 16:2 | 8 | 0 | b3 | |
5 | 8:2 | 4 | 0 | b4 | |
6 | 4:2 | 2 | 0 | b5 | |
7 | 2:2 | 1 | 0 | b6 | |
8 | 1:2 | 0 | 1 | b7 | Старший разряд |
Ответ: N =b7 b6 b5 b4 b3 b2 b1 b0 = 100001101.
При переводе правильных дробей из системы счисления с основанием q1 в систему счисления с основанием q2 используется метод, базирующийся на умножении переводимой правильной дроби на основание q2 новой системы счисления. Правильную дробь N(q1) в системе с основанием q2 можно представить следующим выражением:
N(q2) = b-1 q2-1 + b-2 q2-2 + …+ b -m q2 -m. (1.6)
По схеме Горнера (1.6) можно представить в виде:
N(q2) = q2-1 (b-1 + q2-1 (b-2 + …+ q2-1(b -(m-1) +q2 -1b -m)…)). (1.7)
Если правую часть выражения (1.7) умножить на q2, то можно найти неправильную дробь, в целой части которой будет число b-1. Оставшуюся дробную часть следует далее умножить вновь на q1. В полученной дроби целая часть представит собой b-2 и т.д. Таким образом, m – кратное умножение позволяет найти все m цифр дробной части числа в новой системе счисления. Все действия выполняются по правилам q1-арифметики. В результате описанных операций в целой части получающихся дробей будут получены эквиваленты цифр в новой системе счисления.