Последовательность нескольких битов или байтов часто называют полем данных.
Биты в числе (в слове, в поле и т.п.) нумеруются справа налево, начиная с 0-го разряда.
В ПК могут обрабатываться поля постоянной и переменной длины.
Поля постоянной длины:
· слово — 2 байта
· двойное слово — 4 байта
· полуслово — 1 байт
· расширенное слово — 8 байт
· слово длиной 10 байт — 10 байт
Числа с фиксированной запятой чаще всего имеют формат слова и полуслова, числа с плавающей запятой — формат двойного и расширенного слова.
Поля переменной длины могут иметь любой размер от 0 до 256 байт, но обязательно равный целому числу байтов.
Пример 18. Структурно запись числа -193(10) = -11000001(2) в разрядной сетке ПК выглядит следующим образом.
Число с фиксированной запятой формата слово со знаком:
Знак числа | Абсолютная величина числа | |||||||||||||||
N разряда | ||||||||||||||||
Число |
Числа с плавающей запятой Под знак и порядок отводится старший байт числа. Для возможности представления как положительного так и отрицательного порядка применяют смещенный порядок. То есть машинный порядок (Мр) представляют со смещением на 64. (Мр=Р+64.). Таким образом при машинном порядке равном нулю (0000000 В) реальный порядок равен -64, а при максимальном машинном порядке (1111111 В) равном 127, порядок равен +63.
Число с плавающей запятой формата двойное слово: -193(10) = -11000001(2) = -0.11000001*28. Здесь мантисса = -0.11000001, а порядок =1000(2). Машинный порядок Мр=1000000(2)+ 1000(2) = 1001000(2).
Знак числа | Порядок 8 D = 1000 B | Мантисса 0.11000001 B | ||||||||||||||||||
N разряда | … | |||||||||||||||||||
Число |
Двоично-десятичные кодированные числа могут быть представлены в ПК полями переменной длины в так называемых упакованном и распакованном форматах.
В упакованном формате для каждой десятичной цифры отводится по 4 двоичных разряда (полбайта), при этом знак числа кодируется в крайнем правом полубайте числа (1100 — знак "+" и 1101 — знак "-").
Структура поля двоично-десятичного упакованного формата:
Цф | Цф | ... | Цф | Знак |
Здесь и далее: Цф — цифра. Знак — знак числа
Упакованный формат используется обычно в ПК при выполнении операций сложения и вычитания двоично-десятичных чисел.
В распакованном формате для каждой десятичной цифры отводится по целому байту, при этом старшие полубайты (зона) каждого байта (кроме самого младшего) в ПК заполняются кодом 0011 (в соответствии с ASCII-кодом), а в младших (левых) полубайтах обычным образом кодируются десятичные цифры. Старший полубайт (зона) самого младшего (правого) байта используется для кодирования знака числа.
Структура поля распакованного формата:
Зона | Цф | Зона | Цф | ... | Зона | Цф | Знак | Цф |
Распакованный формат используется в ПК при вводе-выводе информации в ПК, а также при выполнении операций умножения и деления двоично-десятичных чисел.
Пример 19. Число -193(10) = -000110010011 (2-ю) в ПК будет представлено:
в упакованном формате —
в распакованном формате —
Суммирование в двоично–десятичных числами:
Суммирование двоично–десятичных чисел можно производить по правилам обычной двоичной арифметики, а затем производить двоично-десятичную коррекцию. Двоично-десятичная коррекция заключается в проверке каждой тетрады на допустимые коды. Если в какой либо тетраде обнаруживается запрещенная комбинация, то это говорит о переполнении. В этом случае необходимо произвести двоично-десятичную коррекцию. Двоично-десятичная коррекция заключается в дополнительном суммировании числа шесть (число запрещенных комбинаций) с тетрадой, в которой произошло переполнение или произошел перенос в старшую тетраду.
Рассмотрим два примера: