Файл: Способы представления данных в информационных системах.pdf
Добавлен: 29.04.2023
Просмотров: 178
Скачиваний: 1
СОДЕРЖАНИЕ
1. ПРЕДСТАВЛЕНИЕ ДАННЫХ В ИНФОРМАЦИОННЫХ СИСТЕМАХ
1.1 Уровни представления данных в информационных системах
1.2. Внутренняя структура данных
1.3 Классификация структур данных
1.4 Последовательное и связанное представления данных в памяти
2. СПООБЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ В ИНФОРМАЦИОННЫХ СИСТЕМАХ
2.1 Формы с плавающей и фиксированной точкой
Строка битов - это специальный тип символьной строки, содержащий только символы «0» и «1». Для запоминания битовой строки для каждого элемента выделяется одна двоичная цифра. Например, в машинное слово может помещаться битовая строка длиной 32 бита. Вы можете выполнять те же действия над битовыми строками, что и над символьными строками.
Указатель (ссылка) - это элемент данных фиксированного размера. Он используется для реализации связанного представления данных в машинной памяти. Указатель может быть абсолютным адресом данного или его относительным адресом. Относительный указатель содержит значение смещения в области памяти относительно некоторого базового адреса этой области. Поскольку указатель является адресом, он хранится так же, как и адрес. В большинстве компьютеров слово или половинное слово используется для хранения адреса в памяти.
2. СПООБЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ В ИНФОРМАЦИОННЫХ СИСТЕМАХ
2.1 Формы с плавающей и фиксированной точкой
Существует 2 способа предcтавления чисел: с плавающей и фиксированной точкой.
|
Общий вид представления числа с фиксированной точкой:
Зн |
2-1 |
... |
2-n |
Зн |
2-1 |
... |
2-15 |
< 2 байта, 16 разрядов > |
Зн |
2-1 |
... |
2-31 |
< 4 байта, 32 разрядa > |
В общем случае неподвижная точка (естественная форма представления чисел) характеризуется значением m (m = соnst). В этом случае для всех чисел, с которыми работает машина, положение точки является постоянным. Вы можете видеть, что когда m = 0, все числа, с которыми работает машина, меньше 1 и представлены как регулярные дроби
В формате с фиксированной запятой битовая сетка имеет n + 1 бит:
xmax0.111...1 - 2n
xmin0.000...1 * 2n
0 x2n
При использовании чисел с фиксированной точкой может возникнуть переполнение.
|
Такое представление числа соответствует нормальной форме записи:
¦ (x1p-1 + x2p-2 + ... + xnp-n)
Здесь p-n - мантисса, pm - порядок.
Пример:
133,21 = 102*1.3321, 102- порядок, 1.3321- мантисса.
1332.1 = 103*1.3321
0.13321 = 10-1*1.3321
При использовании формата с плавающей запятой используется концепция нормализованного представления чисел.
Нормализованное число - это число, мантисса которого удовлетворяет следующим неравенствам:
Пример:
0,00121 = 10-2*0.121
0.0010 = 2-2*0.101
101.10 = 23 *0.10110
Зн.п |
2ln-2 |
... |
20 |
Зн.m |
2-1 |
2lm |
< Код порядка > |
< Код мантиссы > |
||
< Длина поля порядка > |
< Длина поля мантиссы > |
Kn - код порядка
Km - код мантиссы
ln - длина поля порядка
lm - длина поля мантиссы
Знак '-' кодируется единицей, знак '+' - нулем.
Диапазон представления чисел (максимальное число) зависит от того, как велики поля порядка и мантиссы.
Пример:
25*0.110101
0 |
101 |
0 |
110101 |
Основной операцией в компьютере является операция сложения. При расчете суммы на компьютере возможны 2 случая: либо термины имеют разные знаки, либо совпадают.
• Алгоритмы получения суммы 2 чисел с общими знаками:
1-й алгоритм
1. Добавьте два числа
2. Назначьте знак одного из дополнений
2-й алгоритм
1. Сравните условия компонентов. Если они одинаковые, то выполните сложение по 1-му алгоритму.
2. Добавьте термины в абсолютном значении, если знаки предметов отличаются.
3. При необходимости переставьте числа местами, чтобы вычесть меньшее из большего.
4. Выполните вычитание.
5. Результат, чтобы назначить знак большего дополнения.
S = A + (-B)
2.2 Формы представления чисел со знаками
Распространенными формами представления чисел со знаками являются их представление в прямом, обратном и дополнительном кодах.
Прямой код числа формируется путем кодирования знака числа нулем, если число положительное, и единицей, если число отрицательное (для двоичной системы).
Для общего случая (q - 1), если число отрицательное, и 0, если число положительное. q - основа системы счисления.
Код знака записывается перед самой старшей цифрой числа и отделяется от нее точкой:
-1.01 = 1.101
Прямой, обратный и дополнительный коды положительных чисел совпадают.
Обратный код отрицательного числа формируется из прямого кода, заменяя его цифры их добавлениями к значению q-1. Код знака сохраняется без изменений.
Пример :
+12310 = 0.123пр. = 0.123об.
-12310 = 9.123пр = 9.876об.
+3А7С0016 = 0.3А7С00пр = 0.3А7С00об.
-3А7С0016 = F.3А7С00пр = F.C583FFоб.
-1012 = 1.101пр = 1.010об.
Замена цифр их дополнениями для двоичной системы совпадает с операцией инверсии, то есть нули заменяются единицами, единицы - нулями. Знак принимает значение, равное единице.
Дополнительный код отрицательного числа формируется из обратного увеличения на 1 его младшего разряда. В этом случае передача от знакового бита игнорируется.
Пример:
+23610 = 0.236пр.= 0.236об.= 0.236доп.
-23610 = 9.236пр.= 9.763об.= 9.764доп.
-1012 = 1.101пр.= 1.010об.= 1.011доп.
-3А7С16 = F.3А7Спр.= F.C583об.= F.C584доп.
Правила перехода из прямого кода в обратный и из обратного в прямой, а также из прямого в дополнительный и из дополнительного в прямой совпадают друг с другом.
2.3 Форматы чисел в ЭВМ
Рассмотрим представление формата в ЭВМ на примерах форматов, используемых в IBM 360/370 и ПЭВМ.
Как упоминалось ранее, в компьютере информация, представленная с использованием нескольких двоичных цифр, называется его битовой сеткой. Количество этих цифр определяет длину разрядной сетки. Для чисел в данном диапазоне используется битовая сетка с заранее определенной длиной и целью разряда, которая называется указанием числа в определенном формате. Задание диапазона включает в себя выбор системы счисления, кода и разрядности чисел, что отражается в написании формата.
Помимо бита и байта, слово используется для указания длины формата, его производных - полуслова, двойного слова. Двойное слово и полуслово определяются по-разному для разных компьютерных систем. Кроме того, используется понятие тетрада - 4 двоичные цифры, которые можно кодировать, например, одна двоичная цифра.
Назначение разряда в формате структурирует битовую сетку, то есть делит ее на поля, объединяющие разряды аналогичного назначения. Например, разряды мантиссы или ордена. Числовые форматы IBM 360/370 состоят из полуслов, слов и двоичных слов, содержащих 2,4 и 8 байтов соответственно.
Двоичные разряды в форматах формируются слева направо (начиная с нулевого разряда).
0 |
1 |
15 |
H |
Зн |
Разряды числа |
0 |
1 |
31 |
F |
Зн |
Разряды числа |
0 |
1 |
7 |
31 |
E |
Зн |
Характеристика |
Мантисса числа |
0 |
1 |
7 |
63 |
D |
Зн |
Характеристика |
Мантисса числа |
< байт > |
< байт > |
< байт > |
Z |
Зона |
Ст.цифра |
Зона |
Цифра |
... |
Зона |
Цифра |
Знак |
Мл.цифра |
< байт > |
< байт > |
P |
Ст.цифра |
Цифра |
... |
Мл.цифра |
Знак |
Форматы H и F используются для представления двоичных чисел с фиксированной точкой, а E и D - с плавающей. Для представления десятичных чисел требуются форматы Z и P.
В формате H и F записывают целые двоичные числа, представленные в дополнительном коде и имеющие длину соответственно полуслова (короткий формат H) и слова (длинный формат F). Нулевой дволичный разряд является знаком. Формат H позволяет представить числа в диапазоне от -215 до 215-1, формат F - от -231 до 231-1. Форматы E и D служат для представления двоичных чисел с плавающей точкой и имеют длину соответственно слова и двойного слова. В нулевом разряде указывается код знака мантиссы (Зн). В семи следующих разрядах первого байта записывается характеристика (Х), представляющая собой порядок (П), в виде положительного числа . В последующих байтах записывается мантисса.
Форматы E и D описывают двоичные числа в двоично-кодированной шестнадцатеричной системе счисления. Порядок чисел изменяется от -64 до +63.
Характеристика (Х) изменяется от 0 до 127,
Х = Р + 64, то есть смещает порядок в область положительных чисел.
Формат D за счёт большей длины, используемой для увеличения разрядности мантиссы, обеспечивает представление чисел с большей точностью.
Диапазон абсолютных значений чисел в форматах E и D составляет величины от 16-64 до 1663 , что эквивалентно пределам от 10-77 до 1076.
Для представления чисел в формате E и D необходимо перевести число в 16-ричную систему счисления, представить его в форме с плавающей точкой, определить характеристику и занести код знак мантиссы, характеристику и мантиссу в соответствующие поля формата.
Пример:
30010 = 12С16 = 0.12С16*163 = 4312С000E = 43.12С00000000000D
-8010 = -5016 = -0.5016*162 = С2500000E = С250000000000000D
Для положительных чисел при переводе в формат Е впереди пишется 4, для отрицательных - С.
Зн |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
Для положительного числа:
0 |
100 |
0001 |
Для отрицательного числа:
1 |
100 |
0001 |
210 = 216 = 0.216*161 = 41200000Е = 4120000000000000D
0 |
100 |
0001 |
0010 |
0000 |
0000 |
... |
0000 |
Форматы Z и P (зонный и упакованный) используют двоично-десятичную систему исчисления с весами 8421. Каждая десятичная цифра кодируется тетрадой.
Пример:
1510 = 0001 01012-10
Знак числа: если число положительное, то оно кодируется символами A, C, E, F , если же число отрицательное- то символами B и D.
Формат Z (формат зоны) используется для ввода и вывода. Для каждой цифры выделяется 1 байт, и правая тетрада кодирует цифру, а левая зона принимает значение F, если цифра кодируется, и это отличает цифру от кодов других символов в другой информации. Крайний правый байт, кодирующий нижнюю цифру вместо зоны, имеет код символа.
Формат P называется упакованным и используется при выполнении операций с числами. Он получается из зоны путем удаления зон и переноса кода знака в место справа от тетрады, кодирующей нижнюю цифру. Формат имеет целое число байтов, а предварительное требование дополняется слева от нижней цифры нулевой записной книжкой. Форматы Z и P могут иметь длину от 1 до 16 байтов.