Представление информации в ЭВМ
Компьютер - это электронная машина, которая работает с сигналами. Все числа в компьютере закодированы "двоичным кодом", то есть представлены с помощью всего двух символов 1 и 0, которые легко представляются сигналами.
Представление текстовых данных.
Любой текст состоит из последовательности символов.
Текстовая информация, как и любая другая, хранится в памяти компьютера в двоичном виде. Для этого каждому символу ставится в соответствие некоторое неотрицательное число, называемое кодом символа, и это число записывается в память ЭВМ в двоичном виде. Конкретное соответствие между символами и их кодами называется системой кодировки. В персональных компьютерах обычно используется система кодировки ASCII (American Standard Code for Information Interchange - американский стандартный код для обмена информации).
Представление изображений.
Все известные форматы представления изображений (как неподвижных, так и движущихся) можно разделить на растровые и векторные. В векторном формате изображение разделяется на примитивы. Каждый примитив описывается своими геометрическими координатами. В растровых форматах используется разный способ хранения пикселей.
Представление звуковой информации.
Множество отдельных компаний разработали свои корпоративные стандарты, но среди них можно выделить два основных направления. Метод FM (Frequency Modulation) основан та том, что теоретически любой сложный звук можно разложить на последовательность простейших гармонических сигналов разных частот, каждый из которых представляет собой правильную синусоиду, а, следовательно, может быть описан числовыми параметрами, т.е. кодом. Метод таблично волнового (Wave-Table) синтеза характерны заранее подготовленные таблицы, в которых хранятся образцы звуков для множества различных музыкальных инструментов. В технике такие образцы называют сэмплами.
Представление целых чисел в компьютере.
Целые числа в компьютере хранятся в формате с фиксированной запятой.
Прямой код числа.
Представление числа в привычной форме "знак"-"величина", при которой старший разряд ячейки отводится под знак, а остальные - под запись числа в двоичной системе, называется прямым кодом двоичного числа. Например, прямой код двоичных чисел 1001 и -1001 для 8-разрядной ячейки равен 00001001 и 10001001 соответственно.
Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Отрицательные целые числа не представляются в ЭВМ с помощью прямого кода, для их представления используется так называемый дополнительный код.
Дополнительный код числа.
Дополнительный код положительного числа равен прямому коду этого числа. Дополнительный код отрицательного числа m равен 2k-|m|, где k - количество разрядов в ячейке.
Алгоритм получения дополнительного кода отрицательного числа: Для получения дополнительного k-разрядного кода отрицательного числа необходимо
1. модуль отрицательного числа представить прямым кодом в k двоичных разрядах;
2. значение всех бит инвертировать:все нули заменить на единицы, а единицы на нули(таким образом, получается k-разрядный обратный код исходного числа);
3. к полученному обратному коду прибавить единицу.
Нормализованная запись числа.
Нормализованная запись отличного от нуля действительного числа - это запись вида a= m*Pq, где q - целое число (положительное, отрицательное или ноль), а m - правильная P-ичная дробь, у которой первая цифра после запятой не равна нулю, то есть . При этом m называется мантиссой числа, q - порядком числа.
Примеры:
3,1415926 = 0, 31415926 * 10+1 | 0,00001078 = 0,1078 * 8-4 | 0 = 0,0 * 10+0 |
Представление чисел с плавающей запятой.
При представлении чисел с плавающей запятой часть разрядов ячейки отводится для записи порядка числа, остальные разряды - для записи мантиссы.
Алгоритм представления числа с плавающей запятой.
Перевести число из p-ичной системы счисления в двоичную;
1. представить двоичное число в нормализованной экспоненциальной форме;
2. рассчитать смещённый порядок числа;
3. разместить знак, порядок и мантиссу в соответствующие разряды сетки.
Пример:
Представить число -25,625 в машинном виде с использованием 4 байтового представления (где 1 бит отводится под знак числа, 8 бит - под смещённый порядок, остальные биты - под мантиссу).
-25,62510= -100011,1012 -100011,1012 = -1,000111012 * (24)
Представление о системах счисления.
Система счисления (СС) - совокупность приемов и правил для записи чисел цифровыми знаками.
В зависимости от способов изображения чисел цифрами, системы счисления делятся на непозиционные и позиционные. Непозиционной системой называется такая, в которой количественное значение каждой цифры не зависит от занимаемой ей позиции в изображении числа (римская система счисления). Позиционной системой счисления называется такая, в которой количественное значение каждой цифры зависит от её позиции в числе (арабская система счисления). Количество знаков или символов, используемых для изображения числа, называется основанием системы счисления.
Каждая СС имеет свои правила арифметики (таблица умножения, сложения). Если основание системы q превышает 10, то цифры, начиная с 10, при записи обозначают прописными буквами латинского: A,B,...,Z. При этом цифре 10 соответствуею знак 'A', цифре 11 - знак 'B' и т.д. В позиционной СС число можно представить через его цифры с помощью следующего многочлена относительно q: A=a1*q0+a2*q1+...+an*qn (1)
Выражение (1) формулирует правило для вычисления числа по его цифрам в q-ичной СС.
Преобразование чисел из одной системы счисления в другую.
Правила перевода целых чисел
Из десятичной системы счисления - в двоичную и шестнадцатеричную:
a. исходное целое число делится на основание системы счисления, в которую переводится (2 или 16); получается частное и остаток;
b. если полученное частное не делится на основание системы счисления так, чтобы образовалась целая часть, отличная от нуля, процесс умножения прекращается, переходят к шагу в). Иначе над частным выполняют действия, описанные в шаге а);
c. все полученные остатки и последнее частное преобразуются в соответствии с таблицей в цифры той системы счисления, в которую выполняется перевод;
d. формируется результирующее число: его старший разряд - полученное последнее частное, каждый последующий младший разряд образуется из полученных остатков от деления, начиная с последнего и кончая первым. Таким образом, младший разряд полученного числа - первый остаток от деления, а старший - последнее частное.
Выполнить перевод числа 19 в двоичную систему счисления:
Из произвольной системы счисления - в десятичную. В этом случае рассчитывается полное значение числа по формуле (1).
Выполнить перевод числа 100112 в десятичную систему счисления. Имеем: 100112 = 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 16+0+0+2+1 = 19.
Из двоичной системы счисления в шестнадцатеричную и обратно:
a. исходное число разбивается на тетрады (т.е. 4 цифры), начиная с младших разрядов. Если количество цифр исходного двоичного числа не кратно 4, оно дополняется слева незначащими нулями до достижения кратности 4;
b. каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей;
c. для обратного перевода чисел обратный алгоритм.
Правила перевода правильных дробей
Из десятичной системы счисления - в двоичную и шестнадцатеричную:
a. исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);
b. в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается - она является старшей цифрой получаемой дроби;
c. оставшаяся дробная часть вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б).
d. процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;
e. формируется результат: последовательно отброшенные в шаге б) цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.
Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.
Имеем:
В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.
Таким образом, 0,847 = 0,11012.
Правило перевода дробных чисел
Отдельно переводится целая часть числа, отдельно - дробная. Результаты складываются.