Логические значения.

Пример 1.11.

Пример 1.10.

Изображения чисел в зонном формате в коде EBCDIC:

1) Число 457 в данном формате в поле, длинной три байта, имеет вид:

 

2) Число – 5678 в зонном формате в поле, длиной четыре байта, имеет вид:

 

Как видно из примеров в зонной части младшей цифры записывается знак числа: С ( или F) для знака «+», и D для знака «-».

Зонное представление десятичных данных неэкономично, так как в каждом байте размещается только одна цифра, хотя может уместится две. Поэтому для выполнения арифметических операций употребляется другая форма, которая называется упакованной. В упакованной форме в каждом байте размещается по две цифры. Код знака заносится в младшую тетраду младшего байта поля. Таким образом, максимальное число разрядов десятичного числа равно 31 (16*2-1=31).

Число 457 в упакованной форме занимает поле длиной два байта:

 

Число – 5678 в упакованном формате занимает 3 байта:

 

При использовании ASCII кода каждая цифра в распакованном формате представляется байтами, старшая тетрада которых имеет значение (0011)2=(3)16: 0à(30)16, 1à(31)16, 2à(32)16, 3à(33)16, 4à(34)16, 5à(35)16, 6à(36)16, 7à(37)16, 8à(38)16, 9à(39)16.

 

 

Переменные, принимающие одно из двух значений «ложь»: (FALSE) или «истина» (TRUE),- называются булевыми (логическими) переменными. Значения «ложь» и «истина» принято кодировать цифрами 0 и 1 соответственно. Операции над логическими переменными как объектами определены в языках программирования. В этом случае под их значения отводится группа битов (байт или машинное слово). Наличие хотя бы одного единичного бита в группе определяет истинное значение, а все нули – ложное.

Булевы переменные используются в программах как самостоятельные объекты достаточно редко. Чаще всего они являются элементами наборов булевых векторов и матриц. К тому же слова информации, представляющие команды и числа, а также поля переменной длины, представляющие строки символов и тексты, часто приходится обрабатывать с использованием логических (булевых) операций, по отношению к которым двоичные разряды слов и полей являются логическими значениями. Таким образом, логические значения 0 и 1 чаще всего участвуют в операциях в виде наборов слов или полей переменной длины, каждый разряд которых рассматривается, как значение булевой переменной. Информация, представляемая такими словами, трактуется как не числовая и в процессе выполнения логических операций все разряды слова обрабатываются одинаково, как отдельные логические значения, объединённые в один набор. Таким образом, при обработке логических значений логические операции распространяются на слова и поля переменной длины, исследуемые для представления булевых переменных, команд, чисел и строк символов.